First published: Fri Jul 23 2010(Updated: )
The upstream PHP 5.2.14 and 5.3.3 releases corrected an information disclosure flaw where the var_export() function would disclose data if a fatal error occurred due to recursion, memory_limit, or execution time. The buffer is never cleared and is flushed to the user, regardless of the configured display_errors setting, because it is considered part of the output. This could lead to a disclosure of possibly sensitive information. The name <a href="https://access.redhat.com/security/cve/CVE-2010-2531">CVE-2010-2531</a> has been assigned to this issue. An example to test: % cat test.php #!/usr/bin/php <?php @$obj->p =& $obj; var_export($obj, true); ?> % php test.php PHP Fatal error: Nesting level too deep - recursive dependency? in test.php on line 4 stdClass::__set_state(array( 'p' => stdClass::__set_state(array( 'p' => stdClass::__set_state(array( 'p' => stdClass::__set_state(array( % cat test2.php #!/usr/bin/php <?php $a[] =& $a; var_export($a, true); ?> % php test2.php PHP Fatal error: Nesting level too deep - recursive dependency? in test.php on line 4 array ( 0 => array ( 0 => array ( 0 => array ( 0 => array ( The upstream changes prevent any output from displaying, so should only display the "PHP Fatal error". The upstream fix: <a href="http://svn.php.net/viewvc?view=revision&revision=301143">http://svn.php.net/viewvc?view=revision&revision=301143</a>
Affected Software | Affected Version | How to fix |
---|---|---|
PHP | >=5.2.14<=5.2.14 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
REDHAT-BUG-617673 is classified as a moderate severity vulnerability due to the risk of information disclosure.
To fix REDHAT-BUG-617673, upgrade PHP to version 5.2.15 or 5.3.4 or later, where the flaw has been addressed.
The risks associated with REDHAT-BUG-617673 include potential exposure of sensitive data through the var_export() function during fatal errors.
PHP versions 5.2.14 and 5.3.3 are specifically affected by REDHAT-BUG-617673.
There is no reliable workaround for REDHAT-BUG-617673, and upgrading is the recommended action to mitigate the vulnerability.