Deserialization in Apache Struts
CVE-2017-9805
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.
Vulnerability class: Insecure Deserialization
Published · last modified .
CVSS v3 metric
CVSS v3 base score 8.1 (High). Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H.
EPSS exploit prediction
EPSS: 0.994 (99.9th percentile), scored .
Very high probability of exploitation in the next 30 days — among the top 0.1% most-likely-to-be-exploited CVEs. 100th percentile — 99.9% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.994 · newest: 0.994 · change: 0.000
Affected products
- Apache Struts
- Apache Software Foundation Struts — versions Apache Struts before 2.3.34 and 2.5.x before 2.5.13
- Cisco Digital Media Manager
- Cisco Hosted Collaboration Solution — versions 10.5(1), 11.6\(1\), 11.5\(1\)
- Cisco Media Experience Engine — versions 3.5, 3.5.2
- Cisco Network Performance Analysis
- Cisco Video Distribution Suite For Internet Streaming
- NetApp Oncommand Balance
Weakness classification (CWE)
CISA KEV (Known Exploited Vulnerabilities)
This CVE is on the CISA KEV catalog, added on . CISA KEV inclusion means CISA has confirmed in-the-wild exploitation; US federal agencies are required to remediate within a published due date.
BOD 22-01 due date: .
Required action: Apply updates per vendor instructions.
Public proof-of-concept exploits
- mazen160/struts-pwn_CVE-2017-9805
- luc10/struts-rce-cve-2017-9805
- chrisjd20/cve-2017-9805.py
- 0x00-0x00/-CVE-2017-9805
- Lone-Ranger/apache-struts-pwn_CVE-2017-9805
- Shakun8/CVE-2017-9805
- hahwul/struts2-rce-cve-2017-9805-ruby
- agent3137/CVE-2017-9805-Exploit
- 0xd3vil/CVE-2017-9805-Exploit
- jongmartinez/-CVE-2017-9805-
References
- www.oracle.com/technetwork/security-advisory/alert-cve-2017-9805-3889403.html (Patch, Third Party Advisory)
- struts.apache.org/docs/s2-052.html (Mitigation, Vendor Advisory)
- www.securitytracker.com/id/1039263 (VDB Entry, Third Party Advisory, vdb-entry, Broken Link)
- www.securityfocus.com/bid/100609 (VDB Entry, Third Party Advisory, vdb-entry, Broken Link)
- tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20170907… (vendor-advisory, Third Party Advisory)
- bugzilla.redhat.com/show_bug.cgi (VDB Entry, Third Party Advisory, Issue Tracking)
- blogs.apache.org/foundation/entry/apache-struts-statement-on-equifax (Vendor Advisory)
- www.exploit-db.com/exploits/42627/ (Exploit, VDB Entry, Third Party Advisory, exploit)
- lgtm.com/blog/apache_struts_CVE-2017-9805 (Broken Link)
- cwiki.apache.org/confluence/display/WW/S2-052 (Mitigation, Vendor Advisory)
Frequently asked questions
- What is CVE-2017-9805?
- CVE-2017-9805 is a high-severity vulnerability in Apache Struts, classified under Deserialization of Untrusted Data. CVSS score: 8.1/10. Published 2017-09-15.
- How severe is CVE-2017-9805?
- High severity. CVSS v3 base score is 8.1 out of 10.
- Is CVE-2017-9805 known to be exploited?
- Yes. CVE-2017-9805 is listed in the CISA Known Exploited Vulnerabilities catalog (added 2021-11-03), indicating it is being actively exploited. 160 public proof-of-concept repositories are indexed.