Contents

  • Vital information on this issue
  • Scanning For and Finding Vulnerabilities in PHP CGI Query String Code Execution
  • Penetration Testing (Pentest) for this Vulnerability
  • Security updates on PHP CGI Query String Code Execution
  • Disclosures related to Vulnerabilities in PHP CGI Query String Code Execution
  • Confirming the Presence of Vulnerabilities in PHP CGI Query String Code Execution
  • False positive/negatives
  • Patching/Repairing this vulnerability
  • Exploits related to Vulnerabilities in PHP CGI Query String Code Execution

Vital Information on This Issue

Vulnerabilities in PHP CGI Query String Code Execution is a high risk vulnerability that is one of the most frequently found on networks around the world. This issue has been around since at least 1990 but has proven either difficult to detect, difficult to resolve or prone to being overlooked entirely. 

Vulnerability Name:Vulnerabilities in PHP CGI Query String Code Execution
Test ID:14679
Risk:High
Category:Server Side Scripts
Type:Attack
Summary:An error in the file ‘sapi/cgi/cgi_main.c’ can allow a remote attacker to obtain PHP source code from the web server or to potentially execute arbitrary code. In vulnerable configurations, PHP treats certain query string parameters as command line arguments including switches such as ‘-s’, ‘-d’, and ‘-c’. This vulnerability is exploitable only when PHP is used in CGI-based configurations. Apache with ‘mod_php’ is not an exploitable configuration.
Impact:PHP could allow a remote attacker to execute arbitrary code on the system, due to an incomplete fix for an error related to parsing PHP CGI configurations. An attacker could exploit this vulnerability to execute arbitrary code on the system.
Solution:Upgrade to PHP version 5.3.12, PHP versio 5.4.2 or newer. As a workaround add the following ‘mod_rewrite’ rule: RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC] RewriteRule ^(.*) $1? [L] http://php.net/downloads.php
CVE:CVE-2012-1823
More Information:http://eindbazen.net/2012/05/php-cgi-advisory-cve-2012-1823/
http://www.php.net/archive/2012.php#id2012-05-03-1
http://www.php.net/ChangeLog-5.php#5.3.12
http://www.php.net/ChangeLog-5.php#5.4.2
https://bugs.php.net/bug.php?id=61910
Nist NVD (CVSS):(AV:N/AC:M/Au:N/C:P/I:P/A:P)
CVSS Score:8.3

Scanning For and Finding Vulnerabilities in PHP CGI Query String Code Execution

Use of Vulnerability Management tools, like AVDS, are standard practice for the discovery of this vulnerability. The primary failure of VA in finding this vulnerability is related to setting the proper scope and frequency of network scans. It is vital that the broadest range of hosts (active IPs) possible are scanned and that scanning is done frequently. We recommend weekly. Your existing scanning solution or set of test tools should make this not just possible, but easy and affordable. If that is not the case, please consider AVDS.

Penetration Testing (pentest) for this Vulnerability

The Vulnerabilities in PHP CGI Query String Code Execution is prone to false positive reports by most vulnerability assessment solutions. AVDS is alone in using behavior based testing that eliminates this issue. For all other VA tools security consultants will recommend confirmation by direct observation. In any case Penetration testing procedures for discovery of Vulnerabilities in PHP CGI Query String Code Execution produces the highest discovery accuracy rate, but the infrequency of this expensive form of testing degrades its value. The ideal would be to have pentesting accuracy and the frequency and scope possibilities of VA solutions, and this is accomplished only by AVDS.

Security Updates on Vulnerabilities in PHP CGI Query String Code Execution

Given that this is one of the most frequently found vulnerabilities, there is ample information regarding mitigation online and very good reason to get it fixed. Hackers are also aware that this is a frequently found vulnerability and so its discovery and repair is that much more important. It is so well known and common that any network that has it present and unmitigated indicates “low hanging fruit” to attackers.

Disclosures related to this vulnerability

https://www.kb.cert.org/vuls/id/520827
https://bugs.php.net/bug.php?id=61910
http://thehackernews.com/2012/05/un-patched-php-cgi-remote-code.html
http://www.livehacking.com/tag/php/

Confirming the Presence of Vulnerabilities in PHP CGI Query String Code Execution

AVDS is currently testing for and finding this vulnerability with zero false positives. If your current set of tools is indicating that it is present but you think it is probably a false positive, please contact us for a demonstration of AVDS.

False positive/negatives

The secret killer of VA solution value is the false positive. There was an industry wide race to find the most vulnerabilities, including Vulnerabilities in PHP CGI Query String Code Execution ,and this resulted in benefit to poorly written tests that beef up scan reports by adding a high percentage of uncertainty. This may have sold a lot of systems some years ago, but it also stuck almost all VA solutions with deliberately inaccurate reporting that adds time to repairs that no administrator can afford. Beyond Security did not participate in this race to mutually assured destruction of the industry and to this day produces the most accurate and actionable reports available.

Patching/Repairing this Vulnerability

http://php.net/downloads.php Vulnerabilities in PHP CGI Query String Code Execution is a high risk vulnerability that is also high frequency and high visibility. This is the most severe combination of security factors that exists and it is extremely important to find it on your network and fix it as soon as possible.

Exploits related to Vulnerabilities in PHP CGI Query String Code Execution

https://bugs.php.net/bug.php?id=61910
https://www.exploit-db.com/exploits/18834/

Get a demo and see how vulnerability scanning can help your online security.