CVE-2017-9805
Apache Struts Deserialization of Untrusted Data Vulnerability
- Published
- Sep 15, 2017
- Updated
- Oct 21, 2025
- Assigning CNA
- apache
- Evidence observed
- Sep 6, 2017
Primary CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HHigh · next 30 days
- Percentile
- 99.9%
- Model date
- Oct 13, 2026
EPSS is a statistical estimate, not a certainty or a measure of impact. Combine it with CVSS, KEV status, exposure and your environment.
CISA Known Exploited
This CVE appears in the CISA Known Exploited Vulnerabilities catalog.
Summary
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.
Sources
http/cves/2017/CVE-2017-9805.yaml
Nuclei TemplatesDeclared conditions
- network: http($.protocol_keys)
- verification: status,word($.matchers[*].type)
- oob: interactsh_reference($.template_text)
- Vulhub vulnerability labs
Declared conditions
- lab image version: vulhub/struts2:2.5.12-rest-showcase(struts2/s2-052/docker-compose.yml:services.struts2.image)
modules/exploits/multi/http/struts2_rest_xstream.rb
Metasploit Framework modulesDeclared conditions
- platform: Linux,Python,Unix,Windows($.exploit_multi/http/struts2_rest_xstream.platform)
- verification: check_declared($.exploit_multi/http/struts2_rest_xstream.check)
Responsible use
Use vulnerability information only on systems you own or are authorized to test. Kitploit links to public research metadata and does not store exploit code or malicious payloads.