Advisory 18/2005: PHP Cross Site Scripting (XSS) Vulnerability in phpinfo()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hardened-PHP Project
www.hardened-php.net
-= Security Advisory =-
Advisory: PHP Cross Site Scripting (XSS) Vulnerability in phpinfo()
Release Date: 2005/10/31
Last Modified: 2005/10/31
Author: Stefan Esser [sesser@xxxxxxxxxxxxxxxx]
Application: PHP4 <= 4.4.0
PHP5 <= 5.0.5
Severity: A Cross Site Scripting (XSS) Vulnerability in phpinfo()
could f.e. lead to cookie data exposure if an info
script is left on a production server.
Risk: Low
Vendor Status: Vendor has released a bugfixed PHP 4 version
References: http://www.hardened-php.net/advisory_182005.77.html
Overview:
PHP is a widely-used general-purpose scripting language that is
especially suited for Web development and can be embedded into HTML.
During the development of the Hardening-Patch which adds security
hardening features to the PHP codebase, several vulnerabilities
within PHP were discovered. This advisory describes one of these
flaws concerning a weakness in the phpinfo() function, which allows
Cross Site Scripting (XSS).
Details:
The phpinfo() function outputs a large amount of information about
the current state of PHP. This includes information about PHP
compilation options and extensions, the PHP version, server
information and environment (if compiled as a module), the PHP
environment, OS version information, paths, master and local
values of configuration options and request variables, HTTP
headers, and the PHP License.
Because phpinfo() leaks a lot of information to the viewer it is
not recommended to leave a script executing phpinfo() on a
production server. However in reality phpinfo() scripts are left
open on a lot of servers. While this is already bad enough, there
is also a problem when request variables of a certain form are
displayed. With a properly crafted URL, that contains a stacked
array assignment it is f.e. possible to inject HTML code into the
output of phpinfo(), which could result in the leakage of domain
cookies (f.e. session identifiers).
Proof of Concept:
The Hardened-PHP project is not going to release exploits for any
of these vulnerabilities to the public.
Recommendation:
It is strongly recommended to never leave phpinfo() scripts on
production servers, additionally it is recommended to upgrade to
the new PHP-Releases as soon as possible, because it also fixes
a few vulnerabilities, that are rated critical. Finally we always
recommend to run PHP with the Hardening-Patch applied.
GPG-Key:
http://www.hardened-php.net/hardened-php-signature-key.asc
pub 1024D/0A864AA1 2004-04-17 Hardened-PHP Signature Key
Key fingerprint = 066F A6D0 E57E 9936 9082 7E52 4439 14CC 0A86 4AA1
Copyright 2005 Stefan Esser. All rights reserved.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQFDZhz7RDkUzAqGSqERAt9xAJ9n80d64fyNFyeWWwEVnsHfuyjE8wCeNgx3
OhyWy37m+0oH/xv6yIcNaCs=
=X39u
-----END PGP SIGNATURE-----