CVE-2017-9805highunder attackCWE-502

CVE-2017-9805: high-severity vulnerability in Apache Struts

Published · Updated

E-mail alert when it lands in KEV, gets a public PoC or its score goes up.

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 8.1epss 99%
from disclosure to weaponsame day
Published on NVDSep 15
1st PoCSep 6
metasploitSep 5
CISA KEV+1510d
What the vendors declare (VEX)

Official vendor statements in CSAF/VEX format: whether their product is affected, already fixed, or ruled out — and why. These are the vendor's assertions, not Vexday's judgment.

Not affected
5 products — because the vulnerable code is not present in the product
Red Hat Enterprise Linux 5 · Red Hat JBoss Data Virtualization 6 · Red Hat JBoss Fuse Service Works 6 · Red Hat JBoss Operations Network 3 · Red Hat Satellite 5
Action required by CISAfederal deadline: 2022-05-03

Apply updates per vendor instructions.

In short

Apache Struts 2 has a flaw in its REST plugin that allows attackers to execute arbitrary code by sending specially crafted XML messages. The vulnerability exists because the system deserializes data without properly validating what type of objects are being created.

Technical detail

The REST Plugin's XStreamHandler deserializes XML payloads using an unrestricted XStream instance without type filtering, enabling attackers to instantiate arbitrary Java classes and execute remote code. Exploitation requires sending a malicious XML request to an affected REST endpoint; successful exploitation leads to complete system compromise.

Summary generated and translated by AI from the official description.

The full analysis of this CVE is available in Portuguese →

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.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
public PoCs found — 44
exploitdbwww.exploit-db.com/exploits/42627unverifiedgithubgithub.com/mazen160/struts-pwn_CVE-2017-9805★ 247githubgithub.com/luc10/struts-rce-cve-2017-9805★ 60githubgithub.com/chrisjd20/cve-2017-9805.py★ 21githubgithub.com/0x00-0x00/-CVE-2017-9805★ 15githubgithub.com/Lone-Ranger/apache-struts-pwn_CVE-2017-9805★ 5githubgithub.com/Shakun8/CVE-2017-9805★ 3githubgithub.com/hahwul/struts2-rce-cve-2017-9805-ruby★ 3githubgithub.com/UbuntuStrike/struts_rest_rce_fuzz-CVE-2017-9805-★ 1githubgithub.com/0xd3vil/CVE-2017-9805-Exploit★ 1githubgithub.com/BeyondCy/S2-052★ 1githubgithub.com/agent3137/CVE-2017-9805-Exploit★ 1githubgithub.com/jongmartinez/-CVE-2017-9805-★ 1githubgithub.com/wifido/CVE-2017-9805-Exploit★ 0githubgithub.com/rvermeulen/apache-struts-cve-2017-9805★ 0githubgithub.com/Fl5xia/CVE-2017-9805★ 0githubgithub.com/z3bd/CVE-2017-9805★ 0githubgithub.com/NoSpaceAvailable/CVE-2017-9805_example_build★ 0githubgithub.com/7s26simon/CVE-2017-9805-S2-052★ 0githubgithub.com/UbuntuStrike/CVE-2017-9805-Apache-Struts-Fuzz-N-Sploit★ 0githubgithub.com/AvishkaSenadheera/CVE-2017-9805---Documentation---IT19143378★ 0githubgithub.com/Experience-rookie/struts-s2-052-deserialization-rce-lab★ 0vulncheckvulncheck.com/xdb/67009c2393e1unverifiedvulncheckvulncheck.com/xdb/c9bed43f97a4unverifiedvulncheckvulncheck.com/xdb/92481de257f5unverifiedcve_referencewww.exploit-db.com/exploits/42627/unverifiedvulncheckvulncheck.com/xdb/018ad44965ddunverifiedvulncheckvulncheck.com/xdb/1fa5f1889be6unverifiedvulncheckvulncheck.com/xdb/0ea476fd1c98unverifiedvulncheckvulncheck.com/xdb/5d8bf4c938d9unverifiedvulncheckvulncheck.com/xdb/e922bd12de1dunverifiedvulncheckvulncheck.com/xdb/6300c647a9baunverifiedvulncheckvulncheck.com/xdb/bd12f850ebbeunverifiedvulncheckvulncheck.com/xdb/c82af784f562unverifiedvulncheckvulncheck.com/xdb/d274ccdd5a14unverifiedvulncheckvulncheck.com/xdb/ac29e7c549cdunverifiedvulncheckvulncheck.com/xdb/4629537f1e9aunverifiedvulncheckvulncheck.com/xdb/b904b0434575unverifiedvulncheckvulncheck.com/xdb/1924e716f393unverifiedvulncheckvulncheck.com/xdb/89e15b68ef36unverifiedvulncheckvulncheck.com/xdb/dc089c9c541cunverifiedvulncheckvulncheck.com/xdb/78bca3ee80a0unverifiedvulncheckvulncheck.com/xdb/43c0e5c2df29unverifiedvulncheckvulncheck.com/xdb/c7c9392dc94bunverified
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.