Expression language injection in Apache Struts legacy RESTful mapper
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-917.
Summary
When Apache Struts is configured to use the legacy RESTful action mapper, a crafted request can inject an OGNL expression that may lead to remote code execution (CWE-917). Affected versions are 2.0.0 through 2.3.37, 2.5.0 through 2.5.33, 6.0.0 through 6.11.0 and 7.0.0 through 7.3.0. Struts 7 is affected only when the OGNL allowlist is disabled; it is enabled by default. Applications using the default action mapper, the restful2 mapper or the Struts REST plugin are not affected.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
Improper neutralization of special elements used in an expression language statement ('Expression Language Injection') vulnerability in Apache Struts. If the application is configured to use the legacy RESTful action mapper, a crafted request can inject an OGNL expression that may lead to remote code execution. Struts 7 is affected only when the OGNL allowlist is disabled; it is enabled by default. Applications using the default action mapper, the restful2 mapper, or the Struts REST plugin are not affected. This issue affects Apache Struts: from 2.0.0 through 2.3.37, from 2.5.0 through 2.5.33, from 6.0.0 through 6.11.0, from 7.0.0 through 7.3.0. Users are recommended to upgrade to version 6.12.0 or 7.4.0, which fixes the issue.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Apache | Apache Struts | 2.0.0 – 2.3.37; 2.5.0 – 2.5.33; 6.0.0 – 6.11.0; 7.0.0 – 7.3.0 | — | No fix listed | CNA |
- Apache Struts VendorApache Affected 2.0.0 – 2.3.37; 2.5.0 – 2.5.33; 6.0.0 – 6.11.0; 7.0.0 – 7.3.0 Fixed in — No fix listed CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:* | 2.0.0 – 2.3.37; 2.5.0 – 2.5.33; 6.0.0 to before 6.12.0; 7.0.0 to before 7.4.0 | Vulnerable | Apache |
- cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:* Versions 2.0.0 – 2.3.37; 2.5.0 – 2.5.33; 6.0.0 to before 6.12.0; 7.0.0 to before 7.4.0 Vulnerable ·Apache
Remediation
Upgrade to Struts 6.12.0 or 7.4.0, which fix the issue.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
Not affected: 4 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat Fuse 7
Timeline
- 2026-10-05 Threatist record created from CVE-2026-104711
- 2026-10-06 Alias added: GHSA-wfm5-pq4p-gff9
- 2026-10-06 Affected versions changed · Red Hat
- 2026-10-06 CVSS score added · Red Hat
- 2026-10-06 CVSS score added · CISA ADP
- 2026-10-06 CISA SSVC decision points changed
- 2026-10-06 Priority changed: LOW → MEDIUM
- 2026-10-07 EPSS moved to the 50th–90th percentile
- 2026-10-07 Affected versions changed · Red Hat
- 2026-10-09 Affected versions changed · Red Hat
- 2026-10-20 Affected versions changed · Red Hat
References
More Apache Struts vulnerabilities
- TI-2020-13278 Expression language injection in Apache Struts KEVCVSS 3.1CRITICAL 9.8
- TI-2017-07171 Improper input validation in Apache Struts KEVCVSS 3.1CRITICAL 9.8
- TI-2017-03639 Improper handling of exceptional conditions in Apache Struts KEVCVSS 3.1CRITICAL 9.8
- TI-2013-02013 Apache Struts 2.0.0 through 2.3.15 allows remote attackers to execute arbitrary OGNL… KEVCVSS 3.1CRITICAL 9.8
- TI-2012-00357 The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter… KEVCVSS 3.1CRITICAL 9.8
- TI-2018-08433 Improper input validation in Apache Struts KEVCVSS 3.1HIGH 8.1
Sources
- CVE-2026-104711 · CVE Program
- CVE-2026-104711 · NVD
- FIRST EPSS
- GHSA-wfm5-pq4p-gff9 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-104711 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences