Vulnerability report

Active exploitation observed Confirmed confidence In CISA KEV

CVE-2017-9805

Apache Struts Deserialization

Apache Struts · Apache Struts before 2.3.34 and 2.5.x before 2.5.13

Severity
CVSS 8.1 · High
Confidence
Confirmed
Exploit status
Observed in sensors
EPSS
99.4%
First observed
03 Jul 2026
Last observed
04 Oct 2026

Decision summary

What security teams need to know first

Direct answers before the deeper technical record.

What it is

CVE-2017-9805 is an unauthenticated vulnerability affecting Apache Struts. 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...

Is it exploited?

Yes. Previdian sensors observed exploitation attempts with confirmed confidence. Listed in CISA KEV. Also confirmed by third-party sources.

Who is affected?

Apache Struts apache struts before 2.3.34 and 2.5.x before 2.5.13.

What should we do?

Patch immediately, validate internet-facing exposure, and monitor for matching requests.

Overview

Apache Struts Deserialization

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.

Apache Software Foundation Affected
Apache Struts
Apache Struts before 2.3.34 and 2.5.x before 2.5.13
View vendor advisory (opens in new tab)
Published
15 Sep 2017
Exploitation Reported
03 Nov 2021
Attack vector
Remote
Complexity
High
Privileges
None
User interaction
None

Tags

cisa nuclei_scanner metasploit apache

CVE References

Exploitation evidence

Why Previdian marks this CVE as exploited

Third-party attestation and first-party sensor observation are shown separately so teams can judge the evidence chain.

Exploited in the wild

CISA

Recorded 03 Nov 2021

A trusted third party reported exploitation.

Active exploitation observed

Previdian sensor

First observed 03 Jul 2026

Previdian first observed exploitation attempts targeting this vulnerability in our honeypot sensors.

Proof of concept available

GitHub

Recorded 09 Sep 2017

Public scanner or PoC coverage increases practical exploitability.

Known exploited vulnerability sources

Per-source evidence links for KEV attestations are available through the Previdian Pro API.

Learn about Pro API access
Source Added
CISA First 2021-11-03 00:00 UTC
The Shadowserver 2026-05-31 00:00 UTC
Previdian Sensors 2026-07-30 14:03 UTC

Operational indicators for this CVE are listed under Detection.

Sensor telemetry

First-party evidence of exploitation activity

Previdian sensors recorded exploitation attempts targeting this vulnerability. The cards and chart show volume, unique attackers, and daily activity.

50

Attempts observed

14

Unique attacker IPs

9

Attacker countries

BG · CH · FI · FR · GB · JP · NL · SC · US

13

Sensors observed

CVE-2017-9805 exploitation attempts over the last 84 days

Daily events observed by Previdian sensors

Updated 09 Oct 2026

0
2
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
4
6
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
4
2
2
2
0
8
0
0
0
0
0
18 Jul 4 Aug 21 Aug 7 Sep 9 Oct

First observed 03 Jul 2026 · Last observed 04 Oct 2026

Pro adds sensor region and window summaries. Enterprise adds raw IPs, paths, User-Agents, and payloads.

Start 14-day Pro trial

Detection

Operational artifacts and observed signals

Make the evidence actionable in scanner, SOC, and edge-control workflows.

Observed signals

Request targets
User-Agents
Callback hosts
2
23
0

Request targets and User-Agents available in Pro. Callback host details available in Enterprise.

Virtual patch status

No Previdian virtual patch is currently available. Future rules ship for ModSecurity, Cloudflare, and AWS WAF.

Learn about virtual patches →

Attacker IP Indicators

Attacker IP indicators observed · available in Pro and Enterprise.

Sensor-derived attacker IP indicators are available to Pro and Enterprise accounts under Detection and through the Pro API.

Learn about Pro API access

Scanner Artifacts

Scanner and exploit-framework references linked to this CVE.

Risk and context

Severity, weaknesses, and research context

CVSS v3.1

8.1 High

Potential damage if exploited. Separate from whether attackers are using it.

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

EPSS

99.4%

Estimated chance of exploitation in the next 30 days. Previdian's warning comes from evidence, not this score.

All CVSS Scores

CVSS v3.1 8.1 High

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS v2.0 6.8 Medium

AV:N/AC:M/Au:N/C:P/I:P/A:P

Potential Proof of Concepts

These PoCs are unverified and could contain malware. Use at your own risk.

struts2_rest_xstream

metasploit · Created Unknown

Metasploit module for CVE-2017-9805

Timeline

From disclosure to observed exploitation

  1. 04:20 UTC

    Indicators of compromise added (19)

    Indicators of compromise recorded

  2. 04:20 UTC

    Observed by Previdian sensors

    Evidence-backed exploitation signal

  3. 00:00 UTC

    KEV confirmed by The Shadowserver

    Exploitation attested by an external source

  4. 15:02 UTC

    Metasploit module available

    Exploit module available

  5. 15:02 UTC

    Public PoC available

    Public proof-of-concept code published

  6. 00:00 UTC

    Nuclei template available

    Scanner coverage available

  7. 00:00 UTC

    Added to CISA KEV

    Listed in the CISA Known Exploited Vulnerabilities catalog

  8. 19:00 UTC

    CVE published

    Vulnerability disclosed publicly

  9. 00:00 UTC

    CVE ID reserved

    Identifier reserved by the CNA

Pro API

Automate this intelligence

Confidence, exploit status, sensor telemetry, PoCs, scanner integrations, mentions, and tags are available programmatically for VM, SOC, and CTI workflows.

  • Evidence confidence and provenance
  • First-party sensor telemetry
  • PoC and scanner references
  • Affected versions and enrichment
  • Automation-ready JSON delivery

GET /api/v2/pro/kevs/CVE-2017-9805

Free JSON includes basic KEV fields
{
  "cve_id": "CVE-2017-9805",
  "confidence": "Confirmed",
  "cvss_score": 8.1,
  "cvss_estimated": false,
  "epss_score": 0.99396,
  "exploit_status": {
    "exploited_in_the_wild": true,
    "active_exploitation_observed": true
  },
  "sensor_telemetry": { "attempts": 50, "sensors": 13 }
}