@@ -12,6 +12,8 @@ UPGRADE NOTES - PHP X.Y
12
12
g. Additional str_* APIs
13
13
h. Addition of zend_hash_reindex
14
14
i. Addition of zend_hash_splice
15
+ j. An additional parameter is sent to Countable::count()
16
+ k. Unserialization of manipulated object strings
15
17
16
18
2. Build system changes
17
19
a. Unix build system changes
@@ -189,6 +191,21 @@ UPGRADE NOTES - PHP X.Y
189
191
fail. Extensions which implement Countable internally, need to accept one
190
192
optional long as parameter.
191
193
194
+ k. Unserialization of manipulated object strings
195
+
196
+ Strings requiring unserialization of objects are now explicitly checked
197
+ whether the object they contain implements the Serializable interface.
198
+ This solves the situation where manipulated strings could be passed for
199
+ objects using Serializable to disallow serialization. An object
200
+ implementing Serializable will always start with "C:" in the serialized
201
+ string, all other objects are represented with starting "O:". Objects
202
+ implementing Serializable to disable serialization using
203
+ zend_class_unserialize_deny and zend_class_serialize_deny, when
204
+ instantiated from the serializer with a manipulated "O:" string at the
205
+ start, will most likely be defectively initialized. This is now
206
+ fixed at the appropriate place by checking for the presence of the
207
+ serialize callback in the class entry.
208
+
192
209
========================
193
210
2. Build system changes
194
211
========================
0 commit comments