PHP setting leaks from .htaccess files on virtual hosts — GLSA 200402-01

If the server configuration "php.ini" file has "register_globals = on" and a request is made to one virtual host (which has "php_admin_flag register_globals off") and the next request is sent to the another virtual host (which does not have the setting) global variables may leak and may be used to exploit the site.

Affected Packages

dev-php/mod_php on all architectures
Affected versions < 4.3.4-r4
Unaffected versions >= 4.3.4-r4

Background

PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.

Description

If the server configuration "php.ini" file has "register_globals = on" and a request is made to one virtual host (which has "php_admin_flag register_globals off") and the next request is sent to the another virtual host (which does not have the setting) through the same apache child, the setting will persist.

Impact

Depending on the server and site, an attacker may be able to exploit global variables to gain access to reserved areas, such as MySQL passwords, or this vulnerability may simply cause a lack of functionality. As a result, users are urged to upgrade their PHP installations.

Gentoo ships PHP with "register_globals" set to "off" by default.

This issue affects both servers running Apache 1.x and servers running Apache 2.x.

Workaround

No immediate workaround is available; a software upgrade is required.

Resolution

All users are recommended to upgrade their PHP installation to 4.3.4-r4:

 # emerge sync
 # emerge -pv ">=dev-php/mod_php-4.3.4-r4"
 # emerge ">=dev-php/mod_php-4.3.4-r4"

References

Release Date
February 07, 2004

Latest Revision
February 07, 2004: 01

Severity
normal

Exploitable
remote

Bugzilla entries