Skip to main content
← All vulnerabilities
CVE-2017-9805GHSA-GG9M-FJ3V-R58C

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
published
Listed in CISA KEV
Actively exploited
Fix
Fixed in 2.3.34, 2.5.13
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

  1. CVE published
  2. Added to CISA KEV

    CISA has evidence of exploitation in the wild

  3. CISA remediation deadline

    Due date for US federal agencies to patch

  4. Record last updated
  5. 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

oracle.com

struts.apache.org

securitytracker.com

securityfocus.com

tools.cisco.com

bugzilla.redhat.com

blogs.apache.org

Exploit-DB

lgtm.com

cwiki.apache.org

security.netapp.com

kb.cert.org

FAQ

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