Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
CISA KEV·Added 2022-02-10 — agencies required to remediate by 2022-08-10
Maven

CVE-2017-9791

CRITICAL

Code execution in Apache Struts 1 plugin

Also known asGHSA-29rm-6752-gvwv
Published
Jul 10, 2017
Updated
Apr 10, 2026
Affected
1 pkg
Patched
None yet
Exploits
9 known

EPSS Exploitation Probability

via FIRST.org ↗
94.1%probability of exploitation in next 30 days
Very High Risk100th percentile0.00%
93.6%94.0%94.4%94.7%94.2%94.1%Dec 25Apr 26Jun 26

EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.

Blast Radius

1 pkg affected
org.apache.struts:struts2-struts1-plugin

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.

Description

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.

Affected Packages

1 total
EcosystemPackageVulnerable rangeFix
Mavenorg.apache.struts:struts2-struts1-pluginall versionsNo fix
Exploits & PoCs
9

Research use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.

EDB-44643remotemultiple✓ Verified

Apache Struts 2 - Struts 1 Plugin Showcase OGNL Code Execution (Metasploit)

by Metasploit · May 17, 2018

EDB-42324webappsmultiple✓ Verified

Apache Struts 2.3.x Showcase - Remote Code Execution

by Vex Woo · Jul 7, 2017

Frequently Asked Questions

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.
O3 Security · Impact-Aware SCA

Is CVE-2017-9791 in your stack?

O3 detects CVE-2017-9791 across Maven dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.