CVE-2011-3923
Struts ParameterInterceptor vulnerability allows remote command execution
CVE-2011-3923 is a critical vulnerability (CVSS 9.8) in Apache Struts, published November 1, 2019. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 89.5%, the 99th percentile. Fixed in org.apache.struts:struts2-core 2.3.1.2.
- Severity
- 9.8 CriticalCVSS 3.1, NVD
- Exploit chance
- 89.5%EPSS, 99th percentile
- Exploitation
- None known2 public exploits
- Fixed in
2.3.1.2org.apache.struts:struts2-core +1 more
Description
Apache Struts before 2.3.1.2 allows remote attackers to bypass security protections in the ParameterInterceptor class and execute arbitrary commands.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.apache.struts:struts2-coreMaven | 2.0.0 up to 2.3.1.2 | 2.3.1.2 |
org.apache.struts:struts2-coreMaven | 2.0.0 up to 2.3.1.2, plus listed versions 2.0.112.0.11.12.0.11.22.0.122.0.14 Show 14 moreShow less2.0.52.0.62.0.82.0.92.1.22.1.62.1.82.1.8.12.2.12.2.1.12.2.32.2.3.12.3.12.3.1.1 | 2.3.1.2 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Metasploit | Apache Struts ParametersInterceptor Remote Code Execution | 2011-10-01 |
| Exploit-DB | Apache Struts - 'ParametersInterceptor' Remote Code Execution (Metasploit) | 2013-03-22 |
What each source reports
NVD Score used 9.8
Apache Struts before 2.3.1.2 allows remote attackers to bypass security protections in the ParameterInterceptor class and execute arbitrary commands.
- Record
CVE-2011-3923- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-732
- Updated
- 2026-11-02
CVE ListNo score
Apache Struts before 2.3.1.2 allows remote attackers to bypass security protections in the ParameterInterceptor class and execute arbitrary commands.
- Record
CVE-2011-3923- Updated
- 2026-11-02
EUVDEUVD-2022-1771No score
Apache Struts before 2.3.1.2 allows remote attackers to bypass security protections in the ParameterInterceptor class and execute arbitrary commands.
- Record
EUVD-2022-1771- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-j68f-8h6p-9h5q 9.8
Struts ParameterInterceptor vulnerability allows remote command execution
Regular expression in ParametersInterceptor matches top['foo'](0) as a valid expression, which OGNL treats as (top['foo'])(0) and evaluates the value of 'foo' action parameter as an OGNL expression. This lets malicious users put arbitrary OGNL statements into any String variable exposed by an action and have it evaluated as an OGNL expression and since OGNL statement is in HTTP parameter value attacker can use blacklisted characters (e.g. #) to disable method execution and execute arbitrary methods, bypassing the ParametersInterceptor and OGNL library protections.
- Record
GHSA-j68f-8h6p-9h5q- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-94, CWE-732
- Updated
- 2026-11-02
OSVGHSA-j68f-8h6p-9h5q 9.8
Struts ParameterInterceptor vulnerability allows remote command execution
Regular expression in ParametersInterceptor matches top['foo'](0) as a valid expression, which OGNL treats as (top['foo'])(0) and evaluates the value of 'foo' action parameter as an OGNL expression. This lets malicious users put arbitrary OGNL statements into any String variable exposed by an action and have it evaluated as an OGNL expression and since OGNL statement is in HTTP parameter value attacker can use blacklisted characters (e.g. #) to disable method execution and execute arbitrary methods, bypassing the ParametersInterceptor and OGNL library protections.
- Record
GHSA-j68f-8h6p-9h5q- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-732, CWE-94
- Updated
- 2026-11-02
History
| Recorded | Changed | Sources |
|---|---|---|
| exploits, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, Exploit-DB, GitHub Advisories, Metasploit, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
References
exploit-db.com/exploits/24874
securityfocus.com/bid/51628
security-tracker.debian.org/tracker/CVE-2011-3923
bugzilla.redhat.com/show_bug.cgi?id=CVE-2011-3923
seclists.org/fulldisclosure/2014/Jul/38
securitytracker.com/id?1026575
Show 6 moreShow less
exchange.xforce.ibmcloud.com/vulnerabilities/72585
nvd.nist.gov/vuln/detail/CVE-2011-3923
struts.apache.org/development/2.x/docs/s2-009.html
web.archive.org/web/20140725074137/http://seclists.org/fulldisclosure/2014/Jul/38
blog.o0o.nu/2012/01/cve-2011-3923-yet-another-struts2.html
github.com/advisories/GHSA-j68f-8h6p-9h5q