CVE-2012-0394 json
Apache Struts's DebuggingInterceptor component allows remote code execution in developer mode
published 2012-01-08 14 y ago modified 2026-06-16 4 mo ago also GHSA-hmvj-gc9q-mg9p , EUVD-2022-4179
- cvss
- 6.8
- version 2.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 72.9%
- EPSS 72.9% chance of exploitation in 30 days, percentile 99.4%
- public exploits
- 3
- Metasploit, Exploit-DB, plus a Nuclei check
Summary
The DebuggingInterceptor component in Apache Struts before 2.3.1.1, when developer mode is used, allows remote attackers to execute arbitrary commands via unspecified vectors. NOTE: the vendor characterizes this behavior as not "a security vulnerability itself.
Patch / fix
- maven org.apache.struts.xwork:xwork-core 2.3.18
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-0394 updated cvss 5.1
struts2: remote execution of arbitrary commands when developer mode is used
-
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 (Metasploit exploit/multi/http/struts_dev_mode)
- Published
Exploit prediction
72.90% chance of exploitation in the next 30 days, higher than 99.4% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- Metasploit exploit/multi/http/struts_dev_mode Apache Struts 2 Developer Mode OGNL Execution metasploit exploit, excellent rank, 2012-01-06
- EDB-31434 Apache Struts - Developer Mode OGNL Execution (Metasploit) remote, 2014-02-05
- EDB-18329 Apache Struts 2 < 2.3.1 - Multiple Vulnerabilities webapps, 2012-01-06
- Nuclei template Apache Struts <2.3.1.1 - Remote Code Execution nuclei detection template
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.xwork:xwork-core | <2.3.18 |
2.3.18 |
Classification
- Weakness
-
- CWE-94 Improper Control of Generation of Code
References
-
github.com
/apache/struts/commit/34c80dae734e70f13c0e46f9c83602fb71318e58
web
-
github.com
/apache/struts/commit/9cad25f258bb2629d263f828574d2671366c238d
web
-
exploit-db.com
/exploits/18329
exploit, web, third-party-advisory, vdb-entry
-
exploit-db.com
/exploits/31434
exploit, web, third-party-advisory, vdb-entry
-
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
web, broken-link
-
osvdb.org
/78276
vdb-entry, broken-link
-
nvd.nist.gov
/vuln/detail/CVE-2012-0394
advisory
-
github.com
/apache/struts
package
-
issues.apache.org
/jira/browse/WW-3729
web
Sources
- CVE List CVE-2012-0394
- GitHub Advisory GHSA-hmvj-gc9q-mg9p
- NVD CVE-2012-0394
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.