CVE-2012-1823: PHP-CGI Query String Parameter Vulnerability
PHP · PHP · NVD published 2012-05-11 · posted 2026-10-21 · last modified 2026-06-17
What it is
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not properly handle query strings that lack an = (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.
| Weakness | CWE-77CWE-20 |
|---|---|
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (source: 134c704f-9b21-4f2e-91b3-4a467353bcc0) |
| CISA due date | 2022-04-15 (for US federal agencies under BOD; a good deadline for everyone) |
| ATT&CK tactics | Initial Access → Execution |
Exploitation evidence
First exploit evidence seen: 2012-05-03 (earliest date across the sources below).
Exploited in the wild
- CISA KEV: listed since 2022-03-25. Source
Public exploit code
Metasploit
exploit/multi/http/php_cgi_arg_injection: PHP CGI Argument Injection (disclosure 2012-05-03)
Exploit-DB
- EDB-18834: PHP 5.3.12/5.4.2 - CGI Argument Injection (Metasploit) (2012-05-04, verified)
- EDB-18836: PHP < 5.3.12 / < 5.4.2 - CGI Argument Injection (2012-05-05, verified)
- EDB-29290: Apache + PHP < 5.3.12 / < 5.4.2 - cgi-bin Remote Code Execution (2013-10-29, verified)
- EDB-29316: Apache + PHP < 5.3.12 / < 5.4.2 - Remote Code Execution + Scanner (2013-10-31)
GitHub proof-of-concept repositories
16 public repositories from 16 accounts, first seen 2015-09-08. Most starred: 0xl0k1/CVE-2012-1823 (12 stars), view repository.
Verify before running: public PoCs can be malicious. Read the code and only run it in an isolated lab. A PoC means exploit code is public, not that this CVE is exploited in the wild.
Sources: CISA KEV · Rapid7 Metasploit Framework module metadata · Exploit-DB (OffSec) · nomi-sec/PoC-in-GitHub.
Defend the Chain
The attack chain for CVE-2012-1823 laid across the MITRE ATT&CK Enterprise tactics. Solid cards come from the MITRE CTID KEV mappings; dashed cards are inferred by CVERadar from the CWE or description. Correct defences are real ATT&CK mitigations for that technique.
Pick a red technique card on the board, then choose the defence that stops it.
Defend against T1190 Exploit Public-Facing Application Inferred
Inferred from CWE CWE-77
How to fix it
CISA required action
Apply updates per vendor instructions. (source: CISA KEV)
Fixed versions
- php php: upgrade to 5.3.12 or later
- php php: upgrade to 5.4.2 or later (affected from 5.4.0)
- apple mac os x: upgrade to 10.7.5 or later (affected from 10.6.8)
- apple mac os x: upgrade to 10.8.2 or later (affected from 10.8.0)
Derived from the NVD CPE configuration (versionEndExcluding / versionEndIncluding). Always confirm with the vendor advisory.
Vendor advisories and patches
- http://www.php.net/ChangeLog-5.php#5.4.2 (Exploit, Patch, Release Notes)
- http://www.php.net/archive/2012.php#id2012-05-03-1 (Release Notes)
- https://bugs.php.net/bug.php?id=61910 (Exploit, Patch)
- https://bugs.php.net/patch-display.php?bug_id=61910&patch=cgi.diff&revision=1335984315&display=1 (Patch)
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/PKGTQUOA2NTZ3RXN22CSAUJPIRUYRB4B/ (Mailing List, Release Notes)
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/W45DBOH56NQDRTOM2DN2LNA2FZIMC3PK/ (Mailing List, Release Notes)
- https://lists.fedoraproject.org/archives/list/[email protected]/message/PKGTQUOA2NTZ3RXN22CSAUJPIRUYRB4B/ (Mailing List, Release Notes)
MITRE ATT&CK mitigations for this chain
- M1048 Application Isolation and Sandboxing (for T1190, T1203) : Application isolation will limit what other processes and system features the exploited target can access.
- M1037 Filter Network Traffic (for T1190) : Restrict outbound network traffic from public-facing servers to prevent unauthorized connections from initiating communications with attacker-controlled infrastructure. While this may not prevent the initial exploitation, it limits the attacker's ability to verify and control the compromised server post-exploit, reduci
- M1030 Network Segmentation (for T1190) : Segment externally facing servers and services from the rest of the network with a DMZ or on separate hosting infrastructure.
- M1016 Vulnerability Scanning (for T1190) : Regularly scan externally facing systems for vulnerabilities and establish procedures to rapidly patch systems when critical vulnerabilities are discovered through scanning and through public disclosure.
- M1026 Privileged Account Management (for T1190, T1059) : Use least privilege for service accounts will limit what permissions the exploited process gets on the rest of the system.
- M1050 Exploit Protection (for T1190, T1203) : Web Application Firewalls may be used to limit exposure of applications to prevent exploit traffic from reaching the application.
- M1035 Limit Access to Resource Over Network (for T1190) : Ensure that all publicly exposed services are actually intended to be so, and restrict access to any that should only be available internally.
- M1051 Update Software (for T1190, T1203) : Update software regularly by employing patch management for externally exposed applications.
- M1033 Limit Software Installation (for T1059) : Prevent user installation of unrequired command and scripting interpreters.
- M1045 Code Signing (for T1059) : Where possible, only permit execution of signed scripts.
Detection Generic guidance
- Initial Access: Alert on unusual requests to the affected service (odd paths, oversized payloads, exploit strings) in WAF, reverse-proxy and application logs.
- Execution: Watch for the service process spawning shells or script interpreters (cmd.exe, powershell, sh, bash, python) via EDR process-tree rules.
Response checklist Generic guidance
- Inventory: find every instance of the affected product and version (include internet-facing and forgotten ones).
- Patch or mitigate per the vendor advisory; if you cannot patch, remove internet exposure or apply the vendor workaround.
- Assume compromise if the system was exposed before patching: hunt for the indicators in the advisory and review logs back to the disclosure date.
- Rotate credentials and secrets stored on or used by the affected system if compromise cannot be ruled out.
Sources
- NVD: CVE-2012-1823
- CVE.org record
- CISA Known Exploited Vulnerabilities catalog
- FIRST EPSS (2026-10-24)
- http://eindbazen.net/2012/05/php-cgi-advisory-cve-2012-1823/ (Broken Link, Exploit)
- http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c03360041 (Broken Link)
- http://lists.apple.com/archives/security-announce/2012/Sep/msg00004.html (Mailing List, Third Party Advisory)
- http://lists.opensuse.org/opensuse-security-announce/2012-05/msg00002.html (Mailing List, Third Party Advisory)
- http://lists.opensuse.org/opensuse-security-announce/2012-05/msg00007.html (Mailing List, Third Party Advisory)
- http://lists.opensuse.org/opensuse-security-announce/2012-05/msg00011.html (Mailing List, Third Party Advisory)
- http://marc.info/?l=bugtraq&m=134012830914727&w=2 (Mailing List)
- http://rhn.redhat.com/errata/RHSA-2012-0546.html (Third Party Advisory)
- http://rhn.redhat.com/errata/RHSA-2012-0547.html (Third Party Advisory)
- http://rhn.redhat.com/errata/RHSA-2012-0568.html (Third Party Advisory)
- http://rhn.redhat.com/errata/RHSA-2012-0569.html (Third Party Advisory)
- http://rhn.redhat.com/errata/RHSA-2012-0570.html (Third Party Advisory)
- http://secunia.com/advisories/49014 (Broken Link)
- http://secunia.com/advisories/49065 (Broken Link)
- http://secunia.com/advisories/49085 (Broken Link)
- http://secunia.com/advisories/49087 (Broken Link)
- http://support.apple.com/kb/HT5501 (Third Party Advisory)
- http://www.debian.org/security/2012/dsa-2465 (Third Party Advisory)
- http://www.kb.cert.org/vuls/id/520827 (Exploit, Third Party Advisory, US Government Resource)
- http://www.kb.cert.org/vuls/id/673343 (Third Party Advisory, US Government Resource)
- http://www.mandriva.com/security/advisories?name=MDVSA-2012:068 (Broken Link)
- http://www.openwall.com/lists/oss-security/2024/06/07/1 (Mailing List)
- http://www.securitytracker.com/id?1027022 (Broken Link, Third Party Advisory, VDB Entry)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2012-1823 (US Government Resource)