CVE-2017-9791
Confirmed PUBLISHEDThe 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...
Recommended Action
Prioritize remediation. Validate affected assets and apply vendor fixes on an accelerated timeline.
At a Glance
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.
- CVE Published
- Jul 10, 2017
- Exploitation Reported
- Feb 10, 2022
- CVSS
- 9.8 Critical
- EPSS
- —
Affected Versions
| Vendor | Product | Version | Status |
|---|---|---|---|
| Apache Software Foundation |
Apache Struts
|
2.1.x series |
Affected |
| Apache Software Foundation |
Apache Struts
|
2.3.x series |
Affected |
CVE References
- 42324 exploit-db.com · Exploit https://www.exploit-db.com/exploits/42324/
- 44643 exploit-db.com · Exploit https://www.exploit-db.com/exploits/44643/
- 99484 securityfocus.com · VDB Entry http://www.securityfocus.com/bid/99484
- 1038838 securitytracker.com · VDB Entry http://www.securitytracker.com/id/1038838
- oracle.com/technetwork/security-advisory/alert-cve-2017... oracle.com · CVE Record http://www.oracle.com/technetwork/security-advisory/alert-cve-2017-98...
Show 2 more references
- struts.apache.org/docs/s2-048.html struts.apache.org · CVE Record http://struts.apache.org/docs/s2-048.html
- security.netapp.com/advisory/ntap-20180706-0002 security.netapp.com · CVE Record https://security.netapp.com/advisory/ntap-20180706-0002/
Recommended Actions
- Prioritize remediation. Validate affected assets and apply vendor fixes on an accelerated timeline.
- Check enrichment artifacts for scanner coverage and available PoCs before rolling remediation validation.
- Use the Pro API to automate enrichment, telemetry, and workflow delivery for VM, SOC, and CTI pipelines.
Known Exploited Vulnerability Sources
Catalogues that list this CVE as a known exploited vulnerability.
Per-source evidence links for KEV attestations are available through the KEVIntel Pro API.
Learn about Pro API access| Source | Added |
|---|---|
| CISA First | 2022-02-10 00:00 UTC |
Scanner Artifacts
Nuclei and Metasploit references linked to this CVE.
| Scanner | Reference | Detected |
|---|---|---|
| Nuclei | https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2017/CVE-2017-9791.yaml | Apr 25, 2025 |
| Metasploit | https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts2_code_exec_showcase.rb | Apr 28, 2025 |
Virtual Patch
Compensating WAF rules to help reduce exposure to this CVE. Rule content and deployable vendor exports are available with KEVIntel Enterprise.
KEVIntel does not currently have a virtual patch for this CVE. When available, KEVIntel virtual patches ship as deployable ModSecurity, Cloudflare, and AWS WAF rules.
Enterprise feature. Virtual patch rule content and deployable vendor exports (ModSecurity, Cloudflare, AWS WAF) are available to KEVIntel Enterprise users.
CVSS Scores
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AV:N/AC:L/Au:N/C:P/I:P/A:P
Exploitation Status
Exploited in the wild
Recorded 2022-02-10 00:00:00 UTC · CISA
Proof of concept available
Recorded 2017-09-23 19:08:31 UTC · GitHub
Weaknesses (CWE)
-
Improper Input Validation
Scanner Integrations
| Scanner | Reference | Detected |
|---|---|---|
| Metasploit | https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts2_code_exec_showcase.rb | Apr 28, 2025 |
| Nuclei | https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2017/CVE-2017-9791.yaml | Apr 25, 2025 |
Potential Proof of Concepts
These PoCs are unverified and could contain malware. Use at your own risk.
github · Created 2017-09-23 19:08:31 UTC · 0 stars
Metasploit module for Apache Struts CVE-2017-9791 Remote Code Execution Vulnerability
nuclei · Created Unknown
Timeline
Key exploitation, disclosure, scanner coverage, and KEV attestation events for this CVE.
-
15:02 UTC about 1 year ago15:02 UTC · about 1 year ago
Metasploit module available
Exploit module available
-
00:00 UTC about 1 year ago00:00 UTC · about 1 year ago
Nuclei template available
Scanner coverage available
-
00:00 UTC over 4 years ago00:00 UTC · over 4 years ago
Added to CISA KEV
Listed in the CISA Known Exploited Vulnerabilities catalog
-
19:08 UTC almost 9 years ago19:08 UTC · almost 9 years ago
Public PoC available
Public proof-of-concept code published
-
16:00 UTC about 9 years ago16:00 UTC · about 9 years ago
CVE published
Vulnerability disclosed publicly
-
00:00 UTC about 9 years ago00:00 UTC · about 9 years ago
CVE ID reserved
Identifier reserved by the CNA
Automate This Intelligence with the Pro API
Confidence scoring, exploit status, sensor telemetry, PoCs, scanner integrations, mentions, and tags are available programmatically for VM, SOC, and CTI workflows.
Pro API Example
GET /api/v2/pro/kevs/CVE-2017-9791
{
"cve_id": "CVE-2017-9791",
"title": "The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code ...",
"affected_vendor": "Apache Software Foundation",
"affected_product": "Apache Struts",
"affected_versions": [
{ "vendor": "...", "product": "...", "status": "affected", "display_label": "..." }
],
"confidence": "Confirmed",
"cvss_score": 9.8,
"epss_score": null,
"exploit_status": {
"exploited_in_the_wild": true,
"active_exploitation_observed": false
},
"sensor_telemetry": { "...": "Pro API fields" },
"proof_of_concepts": [ "..." ],
"scanner_integrations": [ "..." ]
}