CVE-2017-9805
Published: November 3, 2021
Official Description
Apache Struts REST Plugin 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.
CISA KEV Advisory
Apache Struts Deserialization of Untrusted Data Vulnerability
Apache Struts REST Plugin 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.
Apply updates per vendor instructions.
Risk Analysis
This vulnerability in Apache Struts REST Plugin allows for remote code execution due to insecure deserialization of XML payloads. The very high EPSS score of 0.94322 indicates a significant likelihood of exploitation, making this an urgent issue for affected deployments.
This vulnerability has been actively exploited in the wild and is listed in CISA's KEV catalog. Its remote exploitability makes it a prime target for attackers.
Update Apache Struts REST Plugin to a version that properly filters types during deserialization. Implement network-level filtering to block malicious XML payloads.
Technical Analysis
CVE-2017-9805 requires local access, meaning attackers must already have a foothold on the target system.
Exploitation requires some privileges, which limits the exposure to scenarios where an attacker has already gained initial access.
CISA has added CVE-2017-9805 to the Known Exploited Vulnerabilities (KEV) catalog, confirming active exploitation in the wild. U.S. federal agencies are required to patch this within the mandated timeframe, and all organizations should treat remediation as urgent.
Affected Vendors & Products
Exploit & PoC Resources
All References (1)
Quick Facts
Recommended Actions
- →Apply vendor patches immediately
- →Monitor CVE-2017-9805 in threat intel feeds
- →Review IDS/IPS signatures for exploitation attempts
- !CISA KEV: Federal agencies must patch per BOD 22-01 timeline
- !Active exploitation confirmed — treat as P1