Apache Struts Deserialization of Untrusted Data Vulnerability
Exploited since 2021-11-03. 2 of 8 rule sources name it. Our CRS test: blocked.
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… More
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.
Edge coverage
Claimed by vendorsAsk Vigil
AI · answers from this pageWorkers AI (Llama 3.3). Can be wrong: check the cited source.
Severity, decoded
CVSS 3.1Exploitable over the network under specific conditions, with no privileges and no user interaction, leading to full loss of confidentiality, integrity and availability.
How the score is built
- Attack vectorAn attacker can reach it over the internet; no access to your network needed.Network
- Attack complexityThe attack only works when conditions outside the attacker's control line up.High
- Privileges requiredNo account or login is needed.None
- User interactionNo one has to click or open anything; the attack works on its own.None
- ScopeThe damage stays within the vulnerable component.Unchanged
- Confidentiality impactAn attacker can read all data the affected component holds, or the most sensitive parts of it.High
- Integrity impactAn attacker can change any data or files the affected component protects.High
- Availability impactAn attacker can take the component down completely or keep it from serving anyone.High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HAttackers are exploiting this in the wild.
At least one step needs hands-on work, which slows mass attacks.
A successful attack gives full control over the affected software or all of its data.
Public exploits
3 found- MetasploitApache Struts 2 REST Plugin XStream RCE2017-09-05 · exploit · rank Excellent · has check
- Exploit-DBApache Struts 2.5 < 2.5.12 - REST Plugin XStream Remote Code Execution2017-09-06 · remote · linux
- NucleiCVE-2017-9805.yamldetection template, replayed in our lab
Links are to third-party code: never run it outside an isolated lab.
Timeline
- 2017-09-05Metasploit module publishedApache Struts 2 REST Plugin XStream RCE
- 2017-09-06Exploit published on Exploit-DBApache Struts 2.5 < 2.5.12 - REST Plugin XStream Remote Code Execution
- 2017-09-15CVE publishedCVE List
- 2021-11-03Added to CISA KEVConfirmed exploitation in the wild
- 2026-11-02Our test: OWASP Core Rule Set blocked itparanoia level 1, anomaly threshold 5, default CRS settings
- 2026-11-02Our test: OWASP Core Rule Set blocked itparanoia level 2, anomaly threshold 5, default CRS settings
Vendor statements
QuotedCloudflareWAF Managed Rules
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
AWSAWS WAF Managed Rules
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
Microsoft AzureFront Door and Application Gateway WAF (DRS)
Rule 944110: Critical - 5 · 1 · Remote Command Execution: Java process spawn (CVE-2017-9805)
Google CloudCloud Armor preconfigured WAF rules
Signature owasp-crs-v042200-id944110-java (sensitivity 1): Remote command execution: Java process spawn (CVE-2017-9805)
Signature owasp-crs-v030301-id944110-java (sensitivity 1): Remote command execution: Java process spawn (CVE-2017-9805)
FastlyNext-Gen WAF virtual patches
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
F5Attack signatures (Distributed Cloud WAF)
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
AkamaiApp & API Protector (Adaptive Security Engine)
This vendor publishes no machine-readable rule changelog we can check.
OWASP CRSCore Rule Set (open source, used inside many WAFs)
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
Social
No posts seen yet on X, Bluesky, Mastodon, Hacker News or GitHub.