CVE-2017-9791 kev in the critical feed json
Code execution in Apache Struts 1 plugin
published 2017-07-10 9 y ago modified 2026-06-17 4 mo ago also GHSA-29rm-6752-gvwv , EUVD-2022-1954
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Exploited
- added 2022-02-10
- epss
- 98.9%
- EPSS 98.9% chance of exploitation in 30 days, percentile 99.9%
- public exploits
- 3
- Metasploit, Exploit-DB, plus a Nuclei check
Summary
The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.
Patch / fix
cisa required action Apply updates per vendor instructions.
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-2017-9791 updated cvss 8.1
struts2: Possible RCE via a malicious field value passed in a raw message to the ActionMessage
-
Red Hat JBoss Fuse Service Works 6 struts2-core struts2-corenot 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/struts2_code_exec_showcase)
- Published
- Added to CISA KEV
- CISA patch deadline
- CISA SSVC: exploitation active
Known exploited
- Added
- 4 y ago
- Patch by
- 2022-08-10 (4 y ago)
- Ransomware
- Not known
- Required action
- Apply updates per vendor instructions.
- Vendor, product
- Apache, Struts 1
- CISA name
- Apache Struts 1 Improper Input Validation Vulnerability
CISA SSVC
- Exploitation
- Active, exploited in the wild
- Automatable
- yes
- Technical impact
- total
- Assessed
- 21 mo ago
Exploit prediction
98.91% chance of exploitation in the next 30 days, higher than 99.9% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- Metasploit exploit/multi/http/struts2_code_exec_showcase Apache Struts 2 Struts 1 Plugin Showcase OGNL Code Execution metasploit exploit, excellent rank, 2017-07-07
- EDB-44643 Apache Struts 2 - Struts 1 Plugin Showcase OGNL Code Execution (Metasploit) remote, 2018-05-17
- EDB-42324 Apache Struts 2.3.x Showcase - Remote Code Execution webapps, 2017-07-07
- Nuclei template Apache Struts2 S2-053 - Remote Code Execution nuclei detection template
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.apache.struts:struts2-struts1-plugin | <=2.3.37 |
no fix listed |
Affected products
- Apache Software Foundation Apache Struts
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
oracle.com
/technetwork/security-advisory/alert-cve-2017-9805-3889403.html
web, patch, third-party-advisory
-
github.com
/apache/struts/commit/ffe0e20edd9d5386f4410fddd970286a69373243
web
-
exploit-db.com
/exploits/42324/
exploit, third-party-advisory, vdb-entry
-
exploit-db.com
/exploits/44643/
exploit, third-party-advisory, vdb-entry
-
struts.apache.org
/docs/s2-048.html
web, mitigation, vendor-advisory
-
securityfocus.com
/bid/99484
vdb-entry, web, broken-link, third-party-advisory
-
securitytracker.com
/id/1038838
vdb-entry, web, broken-link, third-party-advisory
-
security.netapp.com
/advisory/ntap-20180706-0002/
third-party-advisory
-
cisa.gov
/known-exploited-vulnerabilities-catalog?field_cve=CVE-2017-9791
government-resource, web, us-government-resource
-
nvd.nist.gov
/vuln/detail/CVE-2017-9791
advisory
-
security.netapp.com
/advisory/ntap-20180706-0002
web
-
exploit-db.com
/exploits/42324
web
-
exploit-db.com
/exploits/44643
web
Sources
- CVE List CVE-2017-9791
- GitHub Advisory GHSA-29rm-6752-gvwv
- NVD CVE-2017-9791
Fencer Vulns 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.