Red Hat Bugzilla – Bug 1314888
php: Use after free of ZCG(cwd) in Zend Opcache
Last modified: 2016-06-13 16:47:24 EDT
Possible use after free vulnerability in Opcache was reported. Zend Opcache caches the current working directory in ZCG(cwd) and therefore overrides chdir() in order to update the cached directory name when a script switches directories. The hook on chdir() is set in accel_startup() if opcache.enable is true. ZCG(cwd) is free'd in accel_deactivate(), but only if opcache.enable *still* is true. Since Zend extension shutdown functions are called before resetting INI configuration state, a script (or, for example, php_admin_flag in fpm SAPI) may disable Opcache at runtime by setting opcache.enable to false. In this case, the pointer is not correctly free'd and will be reused in the next request, although it became invalid due to being free'd by the Zend allocator. This leads to a use-after-free error and may cause a segmentation fault.
Created php tracking bugs for this issue:
Affects: fedora-all [bug 1314891]
This is not a security issue.