[KEV] Unsafe Deserialization in Apache Struts (CVE-2017-9805)
Summary
Vulnerability in Apache Struts (CVE-2017-9805). Successful exploitation can lead to full system takeover. Listed in CISA KEV — actively exploited.
Original description
The description as published by the source.
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.
Source: CISA Known Exploited Vulnerabilities NVD GitHub Advisory CISA KEV
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2017-9805 has been found in Apache Struts.
Successful exploitation can lead to full system takeover.
Note: CISA has officially confirmed this is actively exploited in the wild. Treat it with elevated urgency.
What to do: apply the vendor's official patched release.
If unsure, ask your IT team or search "Apache Struts CVE-2017-9805" on the vendor's site.
CVE-2017-9805 (Apache Struts) — CWE-502
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Listed in CISA KEV — actively exploited, treat as top priority.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
Unsafe deserialization (CWE-502) exists in Apache Struts.
Check the vendor advisory for the affected versions of Apache Struts.
Severity: High. Successful exploitation can lead to full system takeover. Listed in CISA KEV — actively exploited in the wild, treat as top priority.
Update to the patched release per vendor advisory.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'Struts' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'Struts' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
Strutsを grep し、稼働しているサービス・バージョンを把握する。 -
2Consider incident declaration escalate
Notify SOC / on-callCISA KEV登録済 = 実環境で悪用が観測されている。侵入の兆候があればインシデント対応宣言、無くてもパッチ適用までWAF強化を最優先で。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
References
- advisory NVD
- advisory securityfocus.com
- advisory securitytracker.com
- advisory blogs.apache.org
- advisory cwiki.apache.org
- advisory security.netapp.com
- advisory struts.apache.org
- advisory tools.cisco.com
- advisory kb.cert.org
- patch oracle.com
- report bugzilla.redhat.com
- report exploit-db.com
- web cisa.gov
- web lgtm.com