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 XStrea
Affects the Struts REST plugin when it uses the XStream handler to deserialise XML requests. Fixed in Struts 2.3.34 and 2.5.13.
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Listed in CISA KEV
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Actively exploited
- Fix
- Fixed in 2.3.34, 2.5.13
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
The REST Plugin in Apache Struts, a widely used open-source web framework for Java applications, is affected. An attacker could run arbitrary code on the server by sending specially crafted XML data that the plugin deserializes without checking the object types.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original description
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.
Timeline
- CVE published
- Added to CISA KEV
CISA has evidence of exploitation in the wild
- CISA remediation deadline
Due date for US federal agencies to patch
- Record last updated
- EPSS reached 10%
FIRST estimates at least a 10% chance of exploitation in the next 30 days
Affected versions
- Apache Software Foundation Apache Struts
Apache Struts before 2.3.34 and 2.5.x before 2.5.13
- org.apache.struts:struts2-rest-pluginMaven
From 2.1.1 · fixed in 2.3.34
- org.apache.struts:struts2-rest-pluginMaven
From 2.5.0 · fixed in 2.5.13
References 12
struts.apache.org
securitytracker.com
securityfocus.com
bugzilla.redhat.com
blogs.apache.org
Exploit-DB
lgtm.com
cwiki.apache.org
security.netapp.com
kb.cert.org
Questions about CVE-2017-9805
What does this mean?
Deserialising XML requests through the Struts REST plugin's XStream handler can allow an attacker to run arbitrary code on the server, which could lead to full system compromise.Source: cwiki.apache.org, sec.cloudapps.cisco.com
Am I affected, and how do I check?
The advisory lists Struts 2.1.6 through 2.3.33 and Struts 2.5 through 2.5.12 as affected, and the REST plugin (org.apache.struts:struts2-rest-plugin) is only relevant when it is used with the XStream handler. To check, look at the Struts version and whether struts2-rest-plugin appears in the project's dependencies.Source: cwiki.apache.org, sec.cloudapps.cisco.com
What should I do about it?
Upgrade to Apache Struts 2.3.34 or 2.5.13. If the Struts REST plugin is not used, remove it.Source: cwiki.apache.org, sec.cloudapps.cisco.com
Is it being exploited?
Yes. CISA added it to its Known Exploited Vulnerabilities catalog on 2021-11-03, which means it has evidence of attacks. No public exploit code is tracked.Source: cisa.gov, cve.now feed data