Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

CVE-2012-2311

Published: 4 May 2012

sapi/cgi/cgi_main.c in PHP before 5.3.13 and 5.4.x before 5.4.3, when configured as a CGI script (aka php-cgi), does not properly handle query strings that contain a %3D sequence but no = (equals sign) character, which allows remote attackers to execute arbitrary code by placing command-line options in the query string, related to lack of skipping a certain php_getopt for the 'd' case. NOTE: this vulnerability exists because of an incomplete fix for CVE-2012-1823.

From the Ubuntu Security Team

It was discovered that PHP, when used as a stand alone CGI processor for the Apache Web Server, did not properly parse and filter query strings. This could allow a remote attacker to execute arbitrary code running with the privilege of the web server. Configurations using mod_php5 and FastCGI were not vulnerable.

Notes

AuthorNote
sbeattie
Please see http://www.php.net/archive/2012.php#id2012-05-06-1 for
more details when using configurations other than as described in
/usr/share/doc/php5-cgi/README.Debian.gz.

Mitigation

The php-security.net article has an updated set of mod_rewrite rules that
can mitigate the vulnerability as well:
  RewriteEngine on
  RewriteCond %{QUERY_STRING} ^[^=]*$
  RewriteCond %{QUERY_STRING} %2d|\- [NC]
  RewriteRule .? - [F,L]

Priority

Medium

Status

Package Release Status
php5
Launchpad, Ubuntu, Debian
upstream Needs triage

hardy
Released (5.2.4-2ubuntu5.24)
lucid
Released (5.3.2-1ubuntu4.15)
natty
Released (5.3.5-1ubuntu7.8)
oneiric
Released (5.3.6-13ubuntu3.7)
precise
Released (5.3.10-1ubuntu3.1)