summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_print.c
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2014-04-17 10:48:14 +0200
committerAnatol Belski <ab@php.net>2014-04-17 10:48:14 +0200
commit5328d4289946e260232f3195ba2e0f0eb173d5ef (patch)
tree1b45041613881715d91bde6b9cab41b1f0e9bebc /sapi/phpdbg/phpdbg_print.c
parent7a5f1663c6775bbdaf870e4c71ef8813d5d13179 (diff)
downloadphp-git-5328d4289946e260232f3195ba2e0f0eb173d5ef.tar.gz
Fixed bug #67072 Echoing unserialized "SplFileObject" crash
The actual issue lays in the unserializer code which doesn't honor the unserialize callback. By contrast, the serialize callback is respected. This leads to the situation that even if a class has disabled the serialization explicitly, user could still construct a vulnerable string which would result bad things when trying to unserialize. This conserns also the classes implementing Serializable as well as some core classes disabling serialize/unserialize callbacks explicitly (PDO, SimpleXML, SplFileInfo and co). As of now, the flow is first to call the unserialize callback (if available), then call __wakeup. If the unserialize callback returns with no success, no object is instantiated. This makes the scheme used by internal classes effective, to disable unserialize just assign zend_class_unserialize_deny as callback.
Diffstat (limited to 'sapi/phpdbg/phpdbg_print.c')
0 files changed, 0 insertions, 0 deletions