Known exploited · Apache

CVE-2017-9805: Apache Struts Deserialization of Untrusted Data Vulnerability

What it is

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.

Added November 3, 2021Due May 3, 2022CISA KEV catalog 2026.10.01

Vendor
Apache
Product
Struts
Added to KEV
November 3, 2021
CISA due date
May 3, 2022
Ransomware use
Unknown

What CISA requires

Apply updates per vendor instructions.

Forensic triage

No

What to do now

  1. Find every instance of Struts you run, including the forgotten ones, and check its version against the vendor advisory.
  2. Apply the vendor's fix or mitigation, before May 3, 2022 if you are bound by CISA's deadline, sooner if it faces the internet.
  3. Assume it was tried against you already: look for signs of exploitation from the date it was added, not from the day you patched.
  4. Until every instance is patched, block the attack at the edge: a WAF in blocking mode stops Java deserialization payloads.

References

CVE-2017-9805 in the National Vulnerability Database

The Dome

Block it at the edge while you patch

The Dome's WAF runs the OWASP Core Rule Set in blocking mode and stops Java deserialization payloads before they reach your application.

See the Dome

T Academy

Train the engineers who fix it

Security engineering on real hosts in the browser, every objective checked on the machine. The first two lessons of Linux 1 are free.

Start free

Source: CISA Known Exploited Vulnerabilities Catalog (public domain), catalog version 2026.10.01.