Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Maven

CVE-2017-12611

CRITICAL

Apache Struts 2.0.1 uses an unintentional expression in a Freemarker tag instead of string literal

Also known asGHSA-8fx9-5hx8-crhm
Published
Sep 20, 2017
Updated
Apr 10, 2026
Affected
2 pkgs
Patched
2 / 2
Exploits
9 known

EPSS Exploitation Probability

via FIRST.org ↗
94.2%probability of exploitation in next 30 days
Very High Risk100th percentile0.00%
93.7%94.1%94.4%94.7%94.2%94.2%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

2 pkgs affected
org.apache.struts:struts2-coreorg.apache.struts:struts2-core

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

In Apache Struts 2.0.0 through 2.3.33 and 2.5 through 2.5.10.1, using an unintentional expression in a Freemarker tag instead of string literals can lead to a RCE attack.

Affected Packages

2 total 2 fixed
EcosystemPackageVulnerable rangeFix
Mavenorg.apache.struts:struts2-core2.0.1&&< 2.3.342.3.34
Mavenorg.apache.struts:struts2-core2.5.0&&< 2.5.112.5.11
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-44556remotemultiple✓ Verified

Apache Struts 2.0.1 < 2.3.33 / 2.5 < 2.5.10 - Arbitrary Code Execution

by brianwrf · Sep 8, 2017

Frequently Asked Questions

In Apache Struts 2.0.0 through 2.3.33 and 2.5 through 2.5.10.1, using an unintentional expression in a Freemarker tag instead of string literals can lead to a RCE attack.
O3 Security · Impact-Aware SCA

Is CVE-2017-12611 in your stack?

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