Wavense
VulnerabilitiesVendorsMy Stack
Wavense© 2026 Wavense. All rights reserved.Privacy PolicyTerms & Conditions
Vulnerabilities/CVE-2017-9805
Vulnerability dossier

CVE-2017-9805

Apache Struts 2 REST Plugin RCE via Deserialization

VendorciscoPublishedSep 15, 2017SourceNVDWeaknessCWE-502
Act now

Actively exploited in the wild. Patch or mitigate immediately — don't wait for a maintenance window.

⚙ WeaponizedMetasploit module availableopen ↗PoCPublic exploit on Exploit-DB#42627 ↗
Severity
High · 8.1
CVSS base score
Exploitation
In the wild
CISA KEV · Metasploit · Exploit-DB
Predicted risk
99% model
EPSS forecast — overtaken by confirmed exploitation
Exposure
Internet-facing
Exploitable remotely, no login, no user action
01

What's the risk?

An unauthenticated attacker, remotely over the network, with no user interaction, can fully compromise the system — steal data, tamper with it and take it offline.

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.

How it's exploitedMITRE ATT&CK · 2 observed in the wild
Initial Access
T1190Exploit Public-Facing Applicationobserved
Execution
T1203Exploitation for Client ExecutionT1059Command and Scripting Interpreterobserved

Techniques marked “observed” are corroborated by threat intelligence; the rest are inferred from the weakness type (CWE) and attack vector.

02

Who's exploiting it?

Corroborated threat activity referencing this CVE — with source and confidence, not inference.

Confirmed exploited in the wild. CISA KEV · catalogued Nov 3, 2021
Observed techniques MITRE-analysed · CTID Mappings Explorer
T1059Command and Scripting InterpreterobservedT1190Exploit Public-Facing Applicationobserved

These techniques were analysed against this CVE's real-world exploitation — the matching entries in the ATT&CK chain above are marked “observed”.

03

Are we affected?

12
  • Affectedapache · strutsall versions
  • Affectedapache · strutsall versions
  • Affectedcisco · digital_media_managerall versions
  • Affectedcisco · hosted_collaboration_solution10.5\(1\)
  • Affectedcisco · hosted_collaboration_solution11.0\(1\)
  • Affectedcisco · hosted_collaboration_solution11.5\(1\)
  • Affectedcisco · hosted_collaboration_solution11.6\(1\)
  • Affectedcisco · media_experience_engine3.5.2
  • Affectedcisco · media_experience_engine3.5
  • Affectedcisco · network_performance_analysisall versions
  • Affectedcisco · video_distribution_suite_for_internet_streamingall versions
  • Affectednetapp · oncommand_balanceall versions
04

What to do

Generated by Wavense from the CVE record — an immediate mitigation and the permanent fix.

  1. !

    Mitigate now

    As an interim measure, disable or restrict access to the Struts REST plugin functionality if it's not essential for operations. Implement a Web Application Firewall (WAF) to inspect and block suspicious XML content or known deserialization exploit patterns targeting Struts REST endpoints. Enhance monitoring for unusual process execution or network activity on servers running Apache Struts 2.

  2. ✓

    Permanent fix

    The permanent fix is to upgrade Apache Struts 2 to a patched version immediately. Specifically, upgrade to Apache Struts 2.3.34 or 2.5.13, or any later release. These versions implement critical type filtering during XStream deserialization to prevent malicious object instantiation, thereby resolving the RCE vulnerability.

Technical details— weakness, CVSS vector & calculator, related CVEs

Business impact

An attacker can achieve Remote Code Execution (RCE) by sending specially crafted XML payloads to vulnerable Struts REST endpoints. This allows for arbitrary code execution on the server, potentially leading to full system compromise, data exfiltration, or further network pivot attacks. The business consequences include severe data breaches, service disruption, and significant reputational damage.

Weakness

1
CWE-502Common Weakness Enumeration · MITRE definition

CVSS 3.1 details

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
0.0
/ 10.0 base
High severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Exploitability metrics
Attack VectorAV
Remotely exploitable across a network
Attack ComplexityAC
Depends on conditions beyond attacker control
Privileges RequiredPR
No authorization needed
User InteractionUI
No user participation needed
Impact metrics
ScopeS
Impact confined to the vulnerable component
ConfidentialityC
Total loss of confidentiality
IntegrityI
Total loss of integrity
AvailabilityA
Total loss of availability

Related vulnerabilities

Other CVEs affecting struts

NVD
9.8Critical
CVE-2020-17530KEV⚙ WeaponizedExploit likely

Forced OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution. Affected software : Apache Struts 2.0.0 - Struts 2.5.25.

oracleCWE-917Expression Language InjectionNetworkLow effortNo authNo interactionCIA
2020-12-10
NVD
9.8Critical
CVE-2017-9791KEV⚙ WeaponizedExploit likely

The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.

apacheCWE-20Improper Input ValidationNetworkLow effortNo authNo interactionCIA
2017-07-10
NVD
9.8Critical
CVE-2017-5638KEV⚙ WeaponizedExploit likely

The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 has incorrect exception handling and error-message generation during file-upload attempts, which allows remote attackers to execute arbitrary commands via a crafted Content-Type, Content-Disposition, or Content-Length HTTP header, as exploited in the wild in March 2017 with a Content-Type header containing a #cmd= string.

ibmCWE-755Improper Handling of Exceptional ConditionsNetworkLow effortNo authNo interactionCIA
2017-03-11
NVD
9.8Critical
CVE-2016-3427KEVExploit likely

Unspecified vulnerability in Oracle Java SE 6u113, 7u99, and 8u77; Java SE Embedded 8u77; and JRockit R28.3.9 allows remote attackers to affect confidentiality, integrity, and availability via vectors related to JMX.

redhatCWE-284Improper Access ControlNetworkLow effortNo authNo interactionCIA
2016-04-21
NVD
9.8Critical
CVE-2013-2251KEV⚙ WeaponizedExploit likely

Apache Struts 2.0.0 through 2.3.15 allows remote attackers to execute arbitrary OGNL expressions via a parameter with a crafted (1) action:, (2) redirect:, or (3) redirectAction: prefix.

apacheCWE-74NetworkLow effortNo authNo interactionCIA
2013-07-19
NVD
9.8Critical
CVE-2012-0391KEV⚙ WeaponizedExploit likely

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during certain exception handling for mismatched data types of properties, which allows remote attackers to execute arbitrary Java code via a crafted parameter.

apacheCWE-94Code InjectionNetworkLow effortNo authNo interactionCIA
2012-01-08
NVD
8.8High
CVE-2010-1871KEV⚙ WeaponizedExploit likely

JBoss Seam 2 (jboss-seam2), as used in JBoss Enterprise Application Platform 4.3.0 for Red Hat Linux, does not properly sanitize inputs for JBoss Expression Language (EL) expressions, which allows remote attackers to execute arbitrary code via a crafted URL. NOTE: this is only a vulnerability when the Java Security Manager is not properly configured.

netappCWE-917Expression Language InjectionNetworkLow effortNo authUser neededCIA
2010-08-05
NVD
8.1High
CVE-2018-11776KEV⚙ WeaponizedExploit likely

Apache Struts versions 2.3 to 2.3.34 and 2.5 to 2.5.16 suffer from possible Remote Code Execution when alwaysSelectFullNamespace is true (either by user or a plugin like Convention Plugin) and then: results are used with no namespace and in same time, its upper package have no or wildcard namespace and similar to results, same possibility when using url tag which doesn't have value and action set and in same time, its upper package have no or wildcard namespace.

oracleNetworkHigh effortNo authNo interactionCIA
2018-08-22
0.0
/ 10.0 base
High severity
Key facts
CVE ID
CVE-2017-9805
Published
Sep 15, 2017
Last modified
Apr 21, 2026
CVSS
8.1 (v3.1)
EPSS
99.40%
In CISA KEV
Yes
Confidence
100/100
Weakness
CWE-502
Timeline
  1. Sep 15, 2017Published to NVDNVD
  2. Apr 21, 2026Record last modifiedNVD
  3. Aug 20, 2026AI analysis generatedWavense
View on NVD