Ethical Hacking Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package. | Computer Forensics Training at InfoSec Institute Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors. |

| Subject: | [Full-disclosure] Advisory 20/2005: PHP File-Upload $GLOBALS Overwrite Vulnerability |
|---|---|
| Date: | Mon, 31 Oct 2005 14:35:20 +0100 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hardened-PHP Project
www.hardened-php.net
-= Security Advisory =-
Advisory: PHP File-Upload $GLOBALS Overwrite Vulnerability
Release Date: 2005/10/31
Last Modified: 2005/10/31
Author: Stefan Esser [sesser@hardened-php.net]
Application: PHP4 <= 4.4.0
PHP5 <= 5.0.5
Severity: $GLOBALS overwrite can lead to unexpected behaviour
of PHP applications, which can lead to execution of
remote PHP code in many situations
Risk: Critical
Vendor Status: Vendor has released a bugfixed PHP 4 version
References: http://www.hardened-php.net/advisory_202005.79.html
http://www.hardened-php.net/globals-problem
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 file upload code, that allows
overwriting the GLOBALS array when register_globals is turned on.
Overwriting this array can lead to unexpected security holes in
code assumed secure.
This vulnerability has consequences for a lot of PHP applications
f.e. everything based on PEAR.php and vBulletin. And can lead to
remote PHP code execution.
For a detailed explanation of the $GLOBALS overwrite problem, have
a look at the following article which describes it in more detail:
http://www.hardened-php.net/globals-problem
Details:
In PHP 4.3.11 some code was added to disallow overwriting the
$GLOBALS array when register_globals is turned on. Unfortunately
there was a hole in this protection. The introduced code did only
affect the globalisation of the GET, POST and COOKIE variables.
However it was overseen, that the rfc1867 file upload code within
PHP also registers global variables, which can be used by an
attacker to overwrite the $GLOBALS array by simply sending a
multipart/form-data POST request containing a fileupload field
with the name 'GLOBALS'.
Until now it was not realised, how dangerous the problem is. This
is also one of the reasons why all PHP <= 4.3.10 packages shipped
with various distributions are still vulnerable to the normal
$GLOBALS overwrite, which was fixed in PHP 4.3.11.
Describing the impact of $GLOBALS overwrite vulnerabilities and
why it does not only affect installations, where register_globals
is turned on, why it allows remote code execution in a lot of
PHP applications and why this is also a threat for applications
that allow local file includes and are running in a SAFE_MODE or
open_basedir environment is out of the scope of this advisory.
The interested reader is advised to read the following article,
that describes this "new" bugclass a bit more detailed, with
examples.
http://www.hardened-php.net/globals-problem
Finally it should be noted that users of our Hardening-Patch for
PHP are not affected if they run the at least version from
September.
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 upgrade to the new PHP-Releases as
soon as possible, because the GLOBALS problem is very dangerous
to a lot of PHP applications in the wild. Especially because
writing a worm that f.e. uses this problem to exploit everything
based on PEAR.php is very simple. Additionally we always recommend
to run PHP with the Hardening-Patch applied, especially because
it offers even more protection against $GLOBALS overwrites than
the default PHP.
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
iD8DBQFDZh0fRDkUzAqGSqERAo5yAJ0fNc8IZKgAdhGf7VkuzcubwN0+2ACfWK8K
IZXWzIMzQMf2DEc2ktRgOHQ=
=X87Q
-----END PGP SIGNATURE-----
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [Full-disclosure] Advisory 19/2005: PHP register_globals Activation Vulnerability in parse_str(), Stefan Esser |
|---|---|
| Next by Date: | Re: [Full-disclosure] Security, Hacking & Social Engineering Presentation., Tim |
| Previous by Thread: | [Full-disclosure] Advisory 19/2005: PHP register_globals Activation Vulnerability in parse_str(), Stefan Esser |
| Next by Thread: | [Full-disclosure] phpbb 2.0.18 release, Paul Laudanski |
| Indexes: | [Date] [Thread] [Top] [All Lists] |