CVE-2012-0392 json
Apache Struts's CookieInterceptor component does not use the parameter-name whitelist
published 2012-01-08 14 y ago modified 2026-06-16 4 mo ago also GHSA-2ppp-xj34-vvf7 , EUVD-2022-2028
- cvss
- 6.8
- version 2.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 97.5%
- EPSS 97.5% chance of exploitation in 30 days, percentile 99.9%
- public exploits
- 1
- Exploit-DB, plus a Nuclei check
Summary
The CookieInterceptor component in Apache Struts before 2.3.1.1 does not use the parameter-name whitelist, which allows remote attackers to execute arbitrary commands via a crafted HTTP Cookie header that triggers Java code execution through a static method.
Patch / fix
- maven org.apache.struts:struts2-core 2.2.3.1
- maven org.apache.struts.xwork:xwork-core 2.2.3.1
- apache struts 2.3.1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2012-0392 updated cvss 6.8
struts: arbitrary command execution via crafted HTTP Cookie header
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Timeline
- First public exploit (EDB-18329)
- Published
Exploit prediction
97.53% chance of exploitation in the next 30 days, higher than 99.9% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- EDB-18329 Apache Struts 2 < 2.3.1 - Multiple Vulnerabilities webapps, 2012-01-06
- Nuclei template Apache Struts2 S2-008 RCE nuclei detection template
- lists.immunityinc.com https://lists.immunityinc.com/pipermail/dailydave/2012-January/000011.html referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 2.0 | 6.8 | AV:N/AC:M/Au:N/C:P/I:P/A:P |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.apache.struts:struts2-core | <2.2.3.1 |
2.2.3.1 |
| maven | org.apache.struts.xwork:xwork-core | <2.2.3.1 |
2.2.3.1 |
References
-
github.com
/apache/struts/commit/25e50069d60434a30395e3a98357ffba2bed427e
web
-
exploit-db.com
/exploits/18329
exploit, web, third-party-advisory, vdb-entry
-
lists.immunityinc.com
/pipermail/dailydave/2012-January/000011.html
mailing-list, web, exploit, third-party-advisory
-
struts.apache.org
/2.x/docs/version-notes-2311.html
web, release-notes, vendor-advisory
-
struts.apache.org
/2.x/docs/s2-008.html
web, vendor-advisory
-
archives.neohapsis.com
/archives/bugtraq/2012-01/0031.html
mailing-list, web, broken-link
-
sec-consult.com
/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt
broken-link
-
secunia.com
/advisories/47393
third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2012-0392
advisory
-
github.com
/apache/struts
package
-
web.archive.org
/web/20120612142634/https://sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.
web
-
web.archive.org
/web/20140723153720/http://secunia.com/advisories/47393
web
Sources
- CVE List CVE-2012-0392
- GitHub Advisory GHSA-2ppp-xj34-vvf7
- NVD CVE-2012-0392
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.