PHP: Memory disclosure and arbitrary location file upload — GLSA 200410-04 Two bugs in PHP may allow the disclosure of portions of memory and allow remote attackers to upload files to arbitrary locations. Affected packages Package dev-php/php on all architectures Affected versions < 4.3.9 Unaffected versions >= 4.3.9 Package dev-php/mod_php on all architectures Affected versions < 4.3.9 Unaffected versions >= 4.3.9 Package dev-php/php-cgi on all architectures Affected versions < 4.3.9 Unaffected versions >= 4.3.9 Background PHP is a general-purpose scripting language widely used to develop web-based applications. It can run inside a web server using the mod_php module or the CGI version of PHP, or can run stand-alone in a CLI. Description Stefano Di Paola discovered two bugs in PHP. The first is a parse error in php_variables.c that could allow a remote attacker to view the contents of the target machine's memory. Additionally, an array processing error in the SAPI_POST_HANDLER_FUNC() function inside rfc1867.c could lead to the $_FILES array being overwritten. Impact A remote attacker could exploit the first vulnerability to view memory contents. On a server with a script that provides file uploads, an attacker could exploit the second vulnerability to upload files to an arbitrary location. On systems where the HTTP server is allowed to write in a HTTP-accessible location, this could lead to remote execution of arbitrary commands with the rights of the HTTP server. Workaround There is no known workaround at this time. Resolution All PHP, mod_php and php-cgi users should upgrade to the latest stable version: # emerge sync # emerge -pv ">=dev-php/php-4.3.9" # emerge ">=dev-php/php-4.3.9" # emerge -pv ">=dev-php/mod_php-4.3.9" # emerge ">=dev-php/mod_php-4.3.9" # emerge -pv ">=dev-php/php-cgi-4.3.9" # emerge ">=dev-php/php-cgi-4.3.9" References Secunia Advisory BugTraq post regarding the php_variables.c issue BugTraq post regarding the rfc1867.c issue