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.
CVE-2017-9791
Score elevated to 9.8 because this CVE is listed on the CISA Known Exploited Vulnerabilities catalog (added 2022-02-10), indicating real-world exploitation has been confirmed by US federal agencies. NVD baseline CVSS 9.8 retained for reference. Confidence: HIGH.
- Actively exploited in the wild (CISA-KEV)
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 9.8
- EG Score
- 9.8(high)
- EG Risk
- 99(Act)EG Risk 99/100SSVC: Act
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity98% × 45%Exploitation100% × 40%Automatability100% × 15%Action: Fix now — active exploitation, automatable, high impact. - EPSS PROB
- 99%
- EPSS %ILE
- 100%
- KEV
- ⚠ Exploited
Published
July 10, 2017
Last Modified
June 17, 2026
Advisory Details (6)
Auto-updated Jul 27, 2026Apache Struts 2 - Struts 1 Plugin Showcase OGNL Code Execution (Metasploit) - Multiple remote Exploit
https://www.exploit-db.com/exploits/44643/Apache Struts 2.3.x Showcase - Remote Code Execution - Multiple webapps Exploit
https://www.exploit-db.com/exploits/42324/S2-048 - Apache Struts 2 Wiki - Apache Software Foundation
http://struts.apache.org/docs/s2-048.htmlPatch Availability(1)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| maven | org.apache.struts:struts2-struts1-plugin | — | ghsa |
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
Affected Packages
(1 across 1 ecosystem)
Maven(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| org.apache.struts:struts2-struts1-plugin | 2.0.11 ... 2.3.8 (55 versions) | — | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 33× in last 7d / 196× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
Showing the most recent 100 of 430 total refreshes for this CVE.
- 2026-07-29 14:26 UTCGHSA enrichment
- 2026-07-29 10:38 UTCGHSA enrichment
- 2026-07-29 06:51 UTCGHSA enrichment
- 2026-07-29 03:01 UTCGHSA enrichment
- 2026-07-28 23:14 UTCGHSA enrichment
- 2026-07-28 19:25 UTCGHSA enrichment
- 2026-07-28 15:34 UTCGHSA enrichment
- 2026-07-28 11:45 UTCGHSA enrichment
- 2026-07-28 07:56 UTCGHSA enrichment
- 2026-07-28 04:09 UTCGHSA enrichment
- 2026-07-28 00:23 UTCGHSA enrichment
- 2026-07-27 20:36 UTCGHSA enrichment
- 2026-07-27 19:24 UTCCISA KEV update
- 2026-07-27 17:17 UTCCISA KEV update
- 2026-07-27 16:45 UTCGHSA enrichment
- 2026-07-27 12:58 UTCGHSA enrichment
- 2026-07-27 09:11 UTCGHSA enrichment
- 2026-07-27 05:24 UTCGHSA enrichment
- 2026-07-27 01:35 UTCGHSA enrichment
- 2026-07-26 21:48 UTCGHSA enrichment
- 2026-07-26 18:01 UTCGHSA enrichment
- 2026-07-26 14:13 UTCEG score recompute
- 2026-07-26 14:13 UTCGHSA enrichment
- 2026-07-26 10:26 UTCGHSA enrichment
- 2026-07-26 06:24 UTCGHSA enrichment
Show 75 moreShow fewer
- 2026-07-26 02:31 UTCEG score recompute
- 2026-07-26 02:31 UTCGHSA enrichment
- 2026-07-23 01:31 UTCEG score recompute
- 2026-07-23 00:07 UTCEG score recompute
- 2026-07-23 00:07 UTCGHSA enrichment
- 2026-07-22 22:11 UTCEG score recompute
- 2026-07-22 20:20 UTCGHSA enrichment
- 2026-07-22 19:40 UTCCISA KEV update
- 2026-07-22 16:32 UTCGHSA enrichment
- 2026-07-22 12:45 UTCGHSA enrichment
- 2026-07-22 08:58 UTCGHSA enrichment
- 2026-07-22 05:12 UTCGHSA enrichment
- 2026-07-22 01:10 UTCGHSA enrichment
- 2026-07-21 21:22 UTCGHSA enrichment
- 2026-07-21 17:34 UTCGHSA enrichment
- 2026-07-21 14:37 UTCCISA KEV update
- 2026-07-21 13:46 UTCGHSA enrichment
- 2026-07-21 10:00 UTCGHSA enrichment
- 2026-07-21 06:11 UTCGHSA enrichment
- 2026-07-21 02:23 UTCGHSA enrichment
- 2026-07-20 22:36 UTCGHSA enrichment
- 2026-07-20 18:49 UTCGHSA enrichment
- 2026-07-20 15:02 UTCGHSA enrichment
- 2026-07-20 11:13 UTCGHSA enrichment
- 2026-07-20 07:25 UTCGHSA enrichment
- 2026-07-20 03:38 UTCGHSA enrichment
- 2026-07-19 23:51 UTCGHSA enrichment
- 2026-07-19 20:05 UTCGHSA enrichment
- 2026-07-19 16:16 UTCGHSA enrichment
- 2026-07-19 12:17 UTCGHSA enrichment
- 2026-07-19 08:29 UTCGHSA enrichment
- 2026-07-19 04:42 UTCGHSA enrichment
- 2026-07-19 00:55 UTCGHSA enrichment
- 2026-07-18 21:08 UTCGHSA enrichment
- 2026-07-18 17:21 UTCGHSA enrichment
- 2026-07-18 13:34 UTCGHSA enrichment
- 2026-07-18 09:46 UTCGHSA enrichment
- 2026-07-18 05:59 UTCGHSA enrichment
- 2026-07-18 02:12 UTCGHSA enrichment
- 2026-07-17 22:25 UTCGHSA enrichment
- 2026-07-17 18:38 UTCGHSA enrichment
- 2026-07-17 14:51 UTCGHSA enrichment
- 2026-07-17 11:02 UTCGHSA enrichment
- 2026-07-17 07:15 UTCEG score recompute
- 2026-07-17 07:15 UTCGHSA enrichment
- 2026-07-17 03:29 UTCGHSA enrichment
- 2026-07-16 23:42 UTCGHSA enrichment
- 2026-07-16 19:55 UTCGHSA enrichment
- 2026-07-16 17:04 UTCCISA KEV update
- 2026-07-16 16:07 UTCGHSA enrichment
- 2026-07-16 12:19 UTCGHSA enrichment
- 2026-07-16 08:31 UTCGHSA enrichment
- 2026-07-16 04:44 UTCGHSA enrichment
- 2026-07-16 00:57 UTCGHSA enrichment
- 2026-07-15 21:10 UTCGHSA enrichment
- 2026-07-15 17:23 UTCGHSA enrichment
- 2026-07-15 16:55 UTCEPSS rescore
- 2026-07-15 16:54 UTCEPSS rescore
- 2026-07-15 16:49 UTCCISA KEV update
- 2026-07-15 15:04 UTCCISA KEV update
- 2026-07-15 13:34 UTCGHSA enrichment
- 2026-07-15 09:46 UTCGHSA enrichment
- 2026-07-15 05:59 UTCGHSA enrichment
- 2026-07-15 02:10 UTCGHSA enrichment
- 2026-07-14 22:22 UTCGHSA enrichment
- 2026-07-14 18:35 UTCGHSA enrichment
- 2026-07-14 18:05 UTCCISA KEV update
- 2026-07-14 14:48 UTCGHSA enrichment
- 2026-07-14 11:00 UTCGHSA enrichment
- 2026-07-14 07:11 UTCGHSA enrichment
- 2026-07-14 03:24 UTCGHSA enrichment
- 2026-07-13 23:38 UTCGHSA enrichment
- 2026-07-13 19:51 UTCGHSA enrichment
- 2026-07-13 17:07 UTCCISA KEV update
- 2026-07-13 16:03 UTCGHSA enrichment
Publicly available exploits
(6 references)Working exploit code is in the public domain (1 Metasploit module) (2 GitHub PoCs) (2 Exploit-DB entries). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- Exploit-DBEDB-44643✓ verifiedFirst seen May 17, 2018
Apache Struts 2 - Struts 1 Plugin Showcase OGNL Code Execution (Metasploit)
Open source ↗ - Exploit-DBEDB-42324✓ verifiedFirst seen Jul 7, 2017
Apache Struts 2.3.x Showcase - Remote Code Execution
Open source ↗ - GitHub PoCdragoneeg/Struts2-048First seen Jul 7, 2017
CVE-2017-9791
Open source ↗ - GitHub PoCIanSmith123/s2-048First seen Jul 7, 2017
Apache struts struts 2 048, CVE-2017-9791.
Open source ↗ - Metasploitexploit/multi/http/struts2_code_exec_showcase✓ verifiedFirst seen Jul 7, 2017
Apache Struts 2 Struts 1 Plugin Showcase OGNL Code Execution
Open source ↗ - Nucleihttp/cves/2017/CVE-2017-9791.yamlFirst seen Jan 1, 2017
Apache Struts2 S2-053 - Remote Code Execution
Open source ↗
Related CVEs(same CWE)
Same CWE
10 shownCWE-20
- CVE-2005-0050EG 10.0EPSS p99HIGH
- CVE-2004-1019EG 10.0EPSS p94HIGH
- CVE-2004-0840EG 10.0EPSS p98HIGH
- CVE-2003-1425EG 10.0EPSS p96HIGH
- CVE-2003-1487EG 10.0EPSS p94HIGH
- CVE-2002-1874EG 10.0HIGH
- CVE-2002-2236EG 10.0EPSS p91HIGH
- CVE-2002-2365EG 10.0HIGH
- CVE-2002-1358EG 10.0EPSS p92HIGH
- CVE-2002-1359EG 10.0EPSS p100HIGH
Frequently asked(6)
What is CVE-2017-9791?
When was CVE-2017-9791 disclosed?
Is CVE-2017-9791 actively exploited?
What is the CVSS score of CVE-2017-9791?
Which products are affected by CVE-2017-9791?
How do I remediate CVE-2017-9791?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2017-9791
Is Your Infrastructure Affected by CVE-2017-9791?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.