CVE-2017-9791
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…
- 9.8CriticalCVSS base score
- 98.9%Exploitation in 30 daysEPSS · top 0.1% of all CVEs
- YesKnown exploitedin CISA's KEV since 10 Feb 2022
- 4Public exploitsMetasploit, Nuclei and Exploit-DB
Description
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.
Exploited in the wild
CISA lists this vulnerability in its Known Exploited Vulnerabilities catalog as Apache Struts 1 Improper Input Validation Vulnerability.
- Added
- 10 Feb 2022
- Fix due (US federal)
- 10 Aug 2022
- Used by ransomware
- Not known
Apply updates per vendor instructions.
ENISA's EU Vulnerability Database lists it as exploited, from CISA's KEV, since 10 Feb 2022.
Public exploit
An exploit or proof of concept is public: anyone can try it against an unpatched system. The public collections list a Metasploit module, a Nuclei template and 2 Exploit-DB entries for it. 2 references of the record are tagged as an exploit. CISA's SSVC rates its exploitation: it is being exploited.
Show the exploits6
Metasploit modules1 module
- Apache Struts 2 Struts 1 Plugin Showcase OGNL Code Execution (Metasploit module) (opens in a new tab)
exploit/multi/http/struts2_code_exec_showcaseRank excellentdisclosed 7 Jul 2017
Nuclei templates1 template
- Apache Struts2 S2-053 - Remote Code Execution (Nuclei template) (opens in a new tab)
http/cves/2017/CVE-2017-9791.yamlSeverity critical
Exploit-DB2 entries
- Apache Struts 2 - Struts 1 Plugin Showcase OGNL Code Execution (Metasploit) (Exploit-DB entry) (opens in a new tab)
EDB-ID 44643remote, multiplepublished 17 May 2018Verified
- Apache Struts 2.3.x Showcase - Remote Code Execution (Exploit-DB entry) (opens in a new tab)
EDB-ID 42324webapps, multiplepublished 7 Jul 2017Verified
References tagged exploit2 references
- 42324 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
- 44643 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
Modules, templates and exploits as listed by the Metasploit Framework (BSD-3-Clause), ProjectDiscovery's Nuclei templates (MIT) and the Exploit Database (GPLv2), read once a day. Where the data comes from
Timeline
ID reserved
By apache
- 19 days later
· 19 days later
Published
- 5 years later
· 5 years later
Added to CISA KEV
Known exploited in the wild
- 4 years later
· 4 years later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| CISA-ADPADP (enrichment) | 3.1 | Critical9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVDNVD · Analyzed | 3.1 | Critical9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
- EPSS (exploitation in 30 days)
- 98.9% · top 0.1% of all CVEs (9 Nov 2026)
- CISA SSVC
- Exploitation: active · Automatable: yes · Technical impact: total
The list uses the assigner's score when there is one, then CISA's, then NVD's: Critical 9.8.
Affected products
Apache Software Foundation · Apache Struts
- affected 2.1.x series
- affected 2.3.x series
Affected packages
From reviewed advisories of the GitHub Advisory Database.
- Mavenorg.apache.struts:struts2-struts1-pluginGHSA-29rm-6752-gvwv (opens in a new tab)
References
8
- http://www.oracle.com/technetwork/security-advisory/alert-cve-2017-9805-3889403.html (opens in a new tab)x_refsource_CONFIRMx_transferred
- 99484 (opens in a new tab)vdb-entryx_refsource_BIDx_transferred
- 42324 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
- http://struts.apache.org/docs/s2-048.html (opens in a new tab)x_refsource_CONFIRMx_transferred
- 1038838 (opens in a new tab)vdb-entryx_refsource_SECTRACKx_transferred
- 44643 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
- https://security.netapp.com/advisory/ntap-20180706-0002/ (opens in a new tab)x_refsource_CONFIRMx_transferred
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2017-9791 (opens in a new tab)government-resource
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- CISA KEV catalog (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2022-1954 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisory GHSA-29rm-6752-gvwv (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2017-9791)Record last updated .