CVE-2017-9805
Confirmed PUBLISHEDThe REST Plugin in Apache Struts 2.1.1 through 2.3.x before 2.3.34 and 2.5.x before 2.5.13 uses an XStreamHandler with an instance of XStream for...
Recommended Action
Prioritize remediation. Validate affected assets and apply vendor fixes on an accelerated timeline.
At a Glance
The REST Plugin in Apache Struts 2.1.1 through 2.3.x before 2.3.34 and 2.5.x before 2.5.13 uses an XStreamHandler with an instance of XStream for deserialization without any type filtering, which can lead to Remote Code Execution when deserializing XML payloads.
- CVE Published
- Sep 15, 2017
- Exploitation Reported
- Nov 03, 2021
- CVSS
- 8.1 High
- EPSS
- 99.5%
Affected Versions
| Vendor | Product | Version | Status |
|---|---|---|---|
| Apache Software Foundation |
Apache Struts
|
Apache Struts before 2.3.34 and 2.5.x before 2.5.13 |
Affected |
CVE References
- 20170907 Multiple Vulnerabilities in Apache Struts 2 Affecting Cisco Products: September 2017 tools.cisco.com · Vendor Advisory https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory...
- VU#112992 kb.cert.org · Third-Party Advisory https://www.kb.cert.org/vuls/id/112992
- 42627 exploit-db.com · Exploit https://www.exploit-db.com/exploits/42627/
- 1039263 securitytracker.com · VDB Entry http://www.securitytracker.com/id/1039263
- 100609 securityfocus.com · VDB Entry http://www.securityfocus.com/bid/100609
Show 7 more references
- oracle.com/technetwork/security-advisory/alert-cve-2017... oracle.com · CVE Record http://www.oracle.com/technetwork/security-advisory/alert-cve-2017-98...
- struts.apache.org/docs/s2-052.html struts.apache.org · CVE Record https://struts.apache.org/docs/s2-052.html
- bugzilla.redhat.com/show_bug.cgi bugzilla.redhat.com · CVE Record https://bugzilla.redhat.com/show_bug.cgi?id=1488482
- blogs.apache.org/foundation/entry/apache-struts-statement-on-... blogs.apache.org · CVE Record https://blogs.apache.org/foundation/entry/apache-struts-statement-on-...
- lgtm.com/blog/apache_struts_CVE-2017-9805 lgtm.com · CVE Record https://lgtm.com/blog/apache_struts_CVE-2017-9805
- cwiki.apache.org/confluence/display/WW/S2-052 cwiki.apache.org · CVE Record https://cwiki.apache.org/confluence/display/WW/S2-052
- security.netapp.com/advisory/ntap-20170907-0001 security.netapp.com · CVE Record https://security.netapp.com/advisory/ntap-20170907-0001/
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 | 2021-11-03 00:00 UTC |
| The Shadowserver | 2026-05-31 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-9805.yaml | Apr 25, 2025 |
| Metasploit | https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts2_rest_xstream.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:H/PR:N/UI:N/S:U/C:H/I:H/A:H
AV:N/AC:M/Au:N/C:P/I:P/A:P
Exploitation Status
Exploited in the wild
Recorded 2021-11-03 00:00:00 UTC · CISA
Proof of concept available
Recorded 2017-09-09 01:32:57 UTC · GitHub
Weaknesses (CWE)
-
Deserialization of Untrusted Data
Scanner Integrations
| Scanner | Reference | Detected |
|---|---|---|
| Metasploit | https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts2_rest_xstream.rb | Apr 28, 2025 |
| Nuclei | https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2017/CVE-2017-9805.yaml | Apr 25, 2025 |
Potential Proof of Concepts
These PoCs are unverified and could contain malware. Use at your own risk.
github · Created 2021-04-04 04:35:19 UTC · 1 stars
CVE-2017-9805-Exploit
github · Created 2020-11-28 00:00:37 UTC · 1 stars
Exploit script for Apache Struts2 REST Plugin XStream RCE (CVE-2017-9805)
github · Created 2020-06-11 07:36:56 UTC · 0 stars
Struts 2.5 - 2.5.12 REST Plugin XStream RCE
github · Created 2020-05-12 17:53:57 UTC · 0 stars
github · Created 2019-09-02 22:24:07 UTC · 0 stars
A script to Fuzz and and exploit Apache struts CVE-2017-9805
github · Created 2019-08-31 22:06:31 UTC · 1 stars
Simple python script to fuzz site for CVE-2017-9805
github · Created 2017-11-24 14:46:35 UTC · 16 stars
Exploit script for Apache Struts2 REST Plugin XStream RCE (CVE-2017-9805)
github · Created 2017-09-10 05:26:03 UTC · 5 stars
An exploit for Apache Struts CVE-2017-9805
github · Created 2017-09-09 01:32:57 UTC · 250 stars
An exploit for Apache Struts CVE-2017-9805
nuclei · Created Unknown
Timeline
Key exploitation, disclosure, scanner coverage, and KEV attestation events for this CVE.
-
00:00 UTC about 2 months ago00:00 UTC · about 2 months ago
KEV confirmed by The Shadowserver
Exploitation attested by an external source
-
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:00 UTC almost 9 years ago19:00 UTC · almost 9 years ago
CVE published
Vulnerability disclosed publicly
-
01:32 UTC almost 9 years ago01:32 UTC · almost 9 years ago
Public PoC available
Public proof-of-concept code published
-
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-9805
{
"cve_id": "CVE-2017-9805",
"title": "The REST Plugin in Apache Struts 2.1.1 through 2.3.x before 2.3.34 and 2.5.x ...",
"affected_vendor": "Apache Software Foundation",
"affected_product": "Apache Struts",
"affected_versions": [
{ "vendor": "...", "product": "...", "status": "affected", "display_label": "..." }
],
"confidence": "Confirmed",
"cvss_score": 8.1,
"epss_score": 0.99461,
"exploit_status": {
"exploited_in_the_wild": true,
"active_exploitation_observed": false
},
"sensor_telemetry": { "...": "Pro API fields" },
"proof_of_concepts": [ "..." ],
"scanner_integrations": [ "..." ]
}