Threats / Apache / CVE-2017-9805
CVE-2017-9805
· EUVD no mirror located
· GCVE no mirror located
Verified 2026-06-22
Apache Struts vulnerability
Apache Struts REST Plugin deserializes untrusted XML without type filtering, enabling remote code execution through malicious payloads.
Verdict
Today item — known-exploited.
An unauthenticated attacker can execute arbitrary code on systems running vulnerable Struts REST Plugin versions by sending crafted XML to endpoints that use XStreamHandler for deserialization.
01
Is it exploitable?
— the evidence, ranked above the scoreExploit available
Fully weaponized — public exploit code is cataloged for this vulnerability.We link the existence of the exploit; we do not host or redistribute payloads.
Reported exploitation
627 independent public reports of in-the-wild exploitation are cataloged.Distinct reporting sources (vendor, incident response, government); open them for the underlying claims.
Exploited in the wild
Listed in the CISA Known Exploited Vulnerabilities catalog (added 2021-11-03).
Probability (EPSS)
EPSS 0.99461 — modeled likelihood of exploitation activity.EPSS is a daily-changing model output — open the source for today's value.
Severity / affected
Affected: Apache, Struts. Confirm exact fixed builds in the vendor advisory.
Weakness (CWE)
Mapped to CWE-502 Deserialization of Untrusted Data — weakness family: Injection.CWE assignment from the public NVD record; the weakness class drives how the flaw is exploited.
02
Who’s exploiting it?
— attribution turns risk into urgencyAttribution not established
No confirmed (advisory-backed) threat-actor attribution is established for this record. Absence of a named actor is not absence of compromise — see Coverage & confidence.
03
Why it matters
— the attack path, told twice: adversary, then board1
Front door — unauthenticated access narrative 1
Attacker
I craft a malicious XML payload exploiting XStream deserialization gadgets.
Business
Attacker gains ability to execute arbitrary code with application privileges.
2
Keys to the kingdom — privilege/identity takeover narrative 2
Attacker
I send the payload to a REST endpoint that uses XStreamHandler without authentication.
Business
Vulnerable application processes the request and deserializes hostile objects.
3
Lateral reach — past segmentation narrative 3
Attacker
I trigger remote code execution through unsafe object instantiation during deserialization.
Business
Attacker achieves full system compromise, data theft, or lateral movement.
04
What to do
— defensible action- Remediate per the vendor advisory — confirm the fixed build for your version and verify exposure.1
Say it to the boardA vulnerability with this evidence profile is a defensible budget line, not a backlog ticket — fund the change against the proof above.
05