Improper input validation in Apache Struts
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.0 · NVD. Fix status from CNA and GitHub.
Summary
The REST Plugin in Apache Struts 2.1.x, 2.3.7 through 2.3.33 and 2.5 through 2.5.12 is using an outdated XStream library which is vulnerable and allow perform a DoS attack using malicious request with specially crafted XML payload.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Apache | Apache Struts | 2.3.7 - 2.3.33; 2.5 - 2.5.12; 2.1.x series | — | No fix listed | CNA |
| — | org.apache.struts:struts2-rest-plugin (Maven) | before 2.3.34 | 2.3.34 | Patch available | GHSA-vwxj-6m5m-rrvh |
| — | org.apache.struts:struts2-rest-plugin (Maven) | 2.5.0 to before 2.5.13 | 2.5.13 | Patch available | GHSA-vwxj-6m5m-rrvh |
- Apache Struts VendorApache Affected 2.3.7 - 2.3.33; 2.5 - 2.5.12; 2.1.x series Fixed in — No fix listed CNA
- org.apache.struts:struts2-rest-plugin (Maven) Vendor— Affected before 2.3.34 Fixed in 2.3.34 Patch available GHSA-vwxj-6m5m-rrvh
- org.apache.struts:struts2-rest-plugin (Maven) Vendor— Affected 2.5.0 to before 2.5.13 Fixed in 2.5.13 Patch available GHSA-vwxj-6m5m-rrvh
CPE configurations NVD · 55
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:apache:struts:2.3.7:*:*:*:*:*:*:* | 2.3.7 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.8:*:*:*:*:*:*:* | 2.3.8 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.9:*:*:*:*:*:*:* | 2.3.9 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.10:*:*:*:*:*:*:* | 2.3.10 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.11:*:*:*:*:*:*:* | 2.3.11 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.12:*:*:*:*:*:*:* | 2.3.12 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.13:*:*:*:*:*:*:* | 2.3.13 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.14:*:*:*:*:*:*:* | 2.3.14 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.14.1:*:*:*:*:*:*:* | 2.3.14.1 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.14.2:*:*:*:*:*:*:* | 2.3.14.2 | Vulnerable | Apache |
- cpe:2.3:a:apache:struts:2.3.7:*:*:*:*:*:*:* Versions 2.3.7 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.8:*:*:*:*:*:*:* Versions 2.3.8 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.9:*:*:*:*:*:*:* Versions 2.3.9 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.10:*:*:*:*:*:*:* Versions 2.3.10 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.11:*:*:*:*:*:*:* Versions 2.3.11 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.12:*:*:*:*:*:*:* Versions 2.3.12 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.13:*:*:*:*:*:*:* Versions 2.3.13 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.14:*:*:*:*:*:*:* Versions 2.3.14 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.14.1:*:*:*:*:*:*:* Versions 2.3.14.1 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.14.2:*:*:*:*:*:*:* Versions 2.3.14.2 Vulnerable ·Apache
Show 45 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:apache:struts:2.3.14.3:*:*:*:*:*:*:* | 2.3.14.3 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.15:*:*:*:*:*:*:* | 2.3.15 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.15.1:*:*:*:*:*:*:* | 2.3.15.1 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.15.2:*:*:*:*:*:*:* | 2.3.15.2 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.15.3:*:*:*:*:*:*:* | 2.3.15.3 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.16:*:*:*:*:*:*:* | 2.3.16 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.16.1:*:*:*:*:*:*:* | 2.3.16.1 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.16.2:*:*:*:*:*:*:* | 2.3.16.2 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.16.3:*:*:*:*:*:*:* | 2.3.16.3 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.17:*:*:*:*:*:*:* | 2.3.17 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.19:*:*:*:*:*:*:* | 2.3.19 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.20:*:*:*:*:*:*:* | 2.3.20 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.20.1:*:*:*:*:*:*:* | 2.3.20.1 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.20.2:*:*:*:*:*:*:* | 2.3.20.2 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.21:*:*:*:*:*:*:* | 2.3.21 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.22:*:*:*:*:*:*:* | 2.3.22 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.23:*:*:*:*:*:*:* | 2.3.23 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.24.2:*:*:*:*:*:*:* | 2.3.24.2 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.24.3:*:*:*:*:*:*:* | 2.3.24.3 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.25:*:*:*:*:*:*:* | 2.3.25 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.26:*:*:*:*:*:*:* | 2.3.26 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.27:*:*:*:*:*:*:* | 2.3.27 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.28:*:*:*:*:*:*:* | 2.3.28 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.28.1:*:*:*:*:*:*:* | 2.3.28.1 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.29:*:*:*:*:*:*:* | 2.3.29 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.30:*:*:*:*:*:*:* | 2.3.30 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.31:*:*:*:*:*:*:* | 2.3.31 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.32:*:*:*:*:*:*:* | 2.3.32 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.3.33:*:*:*:*:*:*:* | 2.3.33 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5:*:*:*:*:*:*:* | 2.5 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5:beta1:*:*:*:*:*:* | 2.5 beta1 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5:beta2:*:*:*:*:*:* | 2.5 beta2 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5:beta3:*:*:*:*:*:* | 2.5 beta3 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.1:*:*:*:*:*:*:* | 2.5.1 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.2:*:*:*:*:*:*:* | 2.5.2 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.3:*:*:*:*:*:*:* | 2.5.3 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.4:*:*:*:*:*:*:* | 2.5.4 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.5:*:*:*:*:*:*:* | 2.5.5 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.6:*:*:*:*:*:*:* | 2.5.6 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.7:*:*:*:*:*:*:* | 2.5.7 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.8:*:*:*:*:*:*:* | 2.5.8 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.9:*:*:*:*:*:*:* | 2.5.9 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.10:*:*:*:*:*:*:* | 2.5.10 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.10.1:*:*:*:*:*:*:* | 2.5.10.1 | Vulnerable | Apache |
| cpe:2.3:a:apache:struts:2.5.12:*:*:*:*:*:*:* | 2.5.12 | Vulnerable | Apache |
- cpe:2.3:a:apache:struts:2.3.14.3:*:*:*:*:*:*:* Versions 2.3.14.3 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.15:*:*:*:*:*:*:* Versions 2.3.15 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.15.1:*:*:*:*:*:*:* Versions 2.3.15.1 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.15.2:*:*:*:*:*:*:* Versions 2.3.15.2 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.15.3:*:*:*:*:*:*:* Versions 2.3.15.3 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.16:*:*:*:*:*:*:* Versions 2.3.16 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.16.1:*:*:*:*:*:*:* Versions 2.3.16.1 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.16.2:*:*:*:*:*:*:* Versions 2.3.16.2 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.16.3:*:*:*:*:*:*:* Versions 2.3.16.3 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.17:*:*:*:*:*:*:* Versions 2.3.17 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.19:*:*:*:*:*:*:* Versions 2.3.19 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.20:*:*:*:*:*:*:* Versions 2.3.20 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.20.1:*:*:*:*:*:*:* Versions 2.3.20.1 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.20.2:*:*:*:*:*:*:* Versions 2.3.20.2 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.21:*:*:*:*:*:*:* Versions 2.3.21 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.22:*:*:*:*:*:*:* Versions 2.3.22 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.23:*:*:*:*:*:*:* Versions 2.3.23 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.24.2:*:*:*:*:*:*:* Versions 2.3.24.2 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.24.3:*:*:*:*:*:*:* Versions 2.3.24.3 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.25:*:*:*:*:*:*:* Versions 2.3.25 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.26:*:*:*:*:*:*:* Versions 2.3.26 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.27:*:*:*:*:*:*:* Versions 2.3.27 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.28:*:*:*:*:*:*:* Versions 2.3.28 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.28.1:*:*:*:*:*:*:* Versions 2.3.28.1 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.29:*:*:*:*:*:*:* Versions 2.3.29 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.30:*:*:*:*:*:*:* Versions 2.3.30 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.31:*:*:*:*:*:*:* Versions 2.3.31 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.32:*:*:*:*:*:*:* Versions 2.3.32 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.3.33:*:*:*:*:*:*:* Versions 2.3.33 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5:*:*:*:*:*:*:* Versions 2.5 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5:beta1:*:*:*:*:*:* Versions 2.5 beta1 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5:beta2:*:*:*:*:*:* Versions 2.5 beta2 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5:beta3:*:*:*:*:*:* Versions 2.5 beta3 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.1:*:*:*:*:*:*:* Versions 2.5.1 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.2:*:*:*:*:*:*:* Versions 2.5.2 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.3:*:*:*:*:*:*:* Versions 2.5.3 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.4:*:*:*:*:*:*:* Versions 2.5.4 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.5:*:*:*:*:*:*:* Versions 2.5.5 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.6:*:*:*:*:*:*:* Versions 2.5.6 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.7:*:*:*:*:*:*:* Versions 2.5.7 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.8:*:*:*:*:*:*:* Versions 2.5.8 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.9:*:*:*:*:*:*:* Versions 2.5.9 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.10:*:*:*:*:*:*:* Versions 2.5.10 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.10.1:*:*:*:*:*:*:* Versions 2.5.10.1 Vulnerable ·Apache
- cpe:2.3:a:apache:struts:2.5.12:*:*:*:*:*:*:* Versions 2.5.12 Vulnerable ·Apache
Remediation
- Fix · GHSA-vwxj-6m5m-rrvh org.apache.struts:struts2-rest-plugin (Maven) Fixed in 2.3.34 Advisory →
- Fix · GHSA-vwxj-6m5m-rrvh org.apache.struts:struts2-rest-plugin (Maven) Fixed in 2.5.13 Advisory →
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Advisory ·
Apache Struts — 20170907 Multiple Vulnerabilities in Apache Struts 2 Affecting Cisco Products: September 2017
3 records Highest priority Priority CRITICAL 1 CRITICAL, 2 MEDIUM
Other records, highest priority first
- TI-2017-07185 Deserialization of untrusted data in Apache StrutsPriority CRITICAL 94
- TI-2017-07184 Improper input validation in Apache StrutsPriority MEDIUM 44
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
Not affected: 5 products
- Red Hat Enterprise Linux 5
- Red Hat JBoss Data Virtualization 6
- Red Hat JBoss Fuse Service Works 6
- Red Hat JBoss Operations Network 3
- Red Hat Satellite 5
Timeline
- 2026-10-02 Threatist record created from CVE-2017-9793
- 2026-10-03 Alias added: GHSA-vwxj-6m5m-rrvh
References
Patch 2
Advisory 4
- 20170907 Multiple Vulnerabilities in Apache Struts 2 Affecting Cisco Products: September 2017
- http://www.brocade.com/content/dam/common/documents/content-types/security-bulletin/brocade-security-advisory-2017-429.htm
- https://nvd.nist.gov/vuln/detail/CVE-2017-9793
- https://github.com/advisories/GHSA-vwxj-6m5m-rrvh
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-2017-9793 · CVE Program
- CVE-2017-9793 · NVD
- FIRST EPSS
- GHSA-vwxj-6m5m-rrvh · GitHub Advisory Database · CC BY 4.0
- CVE-2017-9793 · 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