CVE-2017-12611

Exp

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.

Published: 2017-09-20 Last update: 2026-05-13 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2017-12611 is rated High Exploit Risk (89.1/100): CVSS Critical severity, with high exploitation likelihood (EPSS 94.23%, 100th percentile). Core evidence: 2 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Public exploit references (Exploit-DB) for CVE-2017-12611

EDB-ID Source Kind Published Link
44556 exploit_db edb 2017-09-08 Exploit-DB ↗
nvd_ref exploit_tag Exploit-DB ↗

Exploit prediction scoring system (EPSS) score for CVE-2017-12611

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2025-11-18 94.31% 94.23% -0.08%
2 2025-03-17 97.07% 94.31% -2.76%
3 2024-12-17 97.07%

Full EPSS history (9 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2017-12611

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
9.8 3.0 CRITICAL
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 5.9 [email protected]
7.5 2.0 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P Click to expand
Access vector (AV:N)
Can be exploited remotely over network reachability.
Access complexity (AC:L)
Exploitation conditions are straightforward and predictable.
Authentication (AU:N)
No authentication is required.
Confidentiality impact (C:P)
Partial confidentiality impact.
Integrity impact (I:P)
Partial integrity impact.
Availability impact (A:P)
Partial availability impact.
10.0 6.4 [email protected]

Weakness enumeration for CVE-2017-12611

GitHub Security Advisory for CVE-2017-12611

GHSA-8fx9-5hx8-crhm · Severity: critical · Ecosystem: maven — Apache Struts 2.0.1 uses an unintentional expression in a Freemarker tag instead of string literal

OS Trackers for CVE-2017-12611

vendor priority summary link
redhat high https://access.redhat.com/security/cve/CVE-2017-12611
ubuntu medium CVE-2017-12611 medium priority: Ubuntu including 1 source packages (libstruts1.2-java), 8 status rows across 8 suites (artful, bionic, cosmic, disco, trusty, upstream, xenial, zesty): DNE 7, needed 1. https://ubuntu.com/security/CVE-2017-12611

Affected software / configurations for CVE-2017-12611

Vendor Product Version Raw CPE
apache struts 2.0.1 cpe:2.3:a:apache:struts:2.0.1:*:*:*:*:*:*:*
apache struts 2.0.2 cpe:2.3:a:apache:struts:2.0.2:*:*:*:*:*:*:*
apache struts 2.0.3 cpe:2.3:a:apache:struts:2.0.3:*:*:*:*:*:*:*
apache struts 2.0.4 cpe:2.3:a:apache:struts:2.0.4:*:*:*:*:*:*:*
apache struts 2.0.5 cpe:2.3:a:apache:struts:2.0.5:*:*:*:*:*:*:*
apache struts 2.0.6 cpe:2.3:a:apache:struts:2.0.6:*:*:*:*:*:*:*
apache struts 2.0.7 cpe:2.3:a:apache:struts:2.0.7:*:*:*:*:*:*:*
apache struts 2.0.8 cpe:2.3:a:apache:struts:2.0.8:*:*:*:*:*:*:*
apache struts 2.0.9 cpe:2.3:a:apache:struts:2.0.9:*:*:*:*:*:*:*
apache struts 2.0.10 cpe:2.3:a:apache:struts:2.0.10:*:*:*:*:*:*:*
apache struts 2.0.11 cpe:2.3:a:apache:struts:2.0.11:*:*:*:*:*:*:*
apache struts 2.0.11.1 cpe:2.3:a:apache:struts:2.0.11.1:*:*:*:*:*:*:*
apache struts 2.0.11.2 cpe:2.3:a:apache:struts:2.0.11.2:*:*:*:*:*:*:*
apache struts 2.0.12 cpe:2.3:a:apache:struts:2.0.12:*:*:*:*:*:*:*
apache struts 2.0.13 cpe:2.3:a:apache:struts:2.0.13:*:*:*:*:*:*:*
apache struts 2.0.14 cpe:2.3:a:apache:struts:2.0.14:*:*:*:*:*:*:*
apache struts 2.1.0 cpe:2.3:a:apache:struts:2.1.0:*:*:*:*:*:*:*
apache struts 2.1.1 cpe:2.3:a:apache:struts:2.1.1:*:*:*:*:*:*:*
apache struts 2.1.2 cpe:2.3:a:apache:struts:2.1.2:*:*:*:*:*:*:*
apache struts 2.1.3 cpe:2.3:a:apache:struts:2.1.3:*:*:*:*:*:*:*
apache struts 2.1.4 cpe:2.3:a:apache:struts:2.1.4:*:*:*:*:*:*:*
apache struts 2.1.5 cpe:2.3:a:apache:struts:2.1.5:*:*:*:*:*:*:*
apache struts 2.1.6 cpe:2.3:a:apache:struts:2.1.6:*:*:*:*:*:*:*
apache struts 2.1.8 cpe:2.3:a:apache:struts:2.1.8:*:*:*:*:*:*:*
apache struts 2.1.8.1 cpe:2.3:a:apache:struts:2.1.8.1:*:*:*:*:*:*:*
apache struts 2.2.1 cpe:2.3:a:apache:struts:2.2.1:*:*:*:*:*:*:*
apache struts 2.2.1.1 cpe:2.3:a:apache:struts:2.2.1.1:*:*:*:*:*:*:*
apache struts 2.2.3 cpe:2.3:a:apache:struts:2.2.3:*:*:*:*:*:*:*
apache struts 2.2.3.1 cpe:2.3:a:apache:struts:2.2.3.1:*:*:*:*:*:*:*
apache struts 2.3.1 cpe:2.3:a:apache:struts:2.3.1:*:*:*:*:*:*:*
apache struts 2.3.1.1 cpe:2.3:a:apache:struts:2.3.1.1:*:*:*:*:*:*:*
apache struts 2.3.1.2 cpe:2.3:a:apache:struts:2.3.1.2:*:*:*:*:*:*:*
apache struts 2.3.3 cpe:2.3:a:apache:struts:2.3.3:*:*:*:*:*:*:*
apache struts 2.3.4 cpe:2.3:a:apache:struts:2.3.4:*:*:*:*:*:*:*
apache struts 2.3.4.1 cpe:2.3:a:apache:struts:2.3.4.1:*:*:*:*:*:*:*
apache struts 2.3.5 cpe:2.3:a:apache:struts:2.3.5:*:*:*:*:*:*:*
apache struts 2.3.6 cpe:2.3:a:apache:struts:2.3.6:*:*:*:*:*:*:*
apache struts 2.3.7 cpe:2.3:a:apache:struts:2.3.7:*:*:*:*:*:*:*
apache struts 2.3.8 cpe:2.3:a:apache:struts:2.3.8:*:*:*:*:*:*:*
apache struts 2.3.9 cpe:2.3:a:apache:struts:2.3.9:*:*:*:*:*:*:*
apache struts 2.3.10 cpe:2.3:a:apache:struts:2.3.10:*:*:*:*:*:*:*
apache struts 2.3.11 cpe:2.3:a:apache:struts:2.3.11:*:*:*:*:*:*:*
apache struts 2.3.12 cpe:2.3:a:apache:struts:2.3.12:*:*:*:*:*:*:*
apache struts 2.3.13 cpe:2.3:a:apache:struts:2.3.13:*:*:*:*:*:*:*
apache struts 2.3.14 cpe:2.3:a:apache:struts:2.3.14:*:*:*:*:*:*:*
apache struts 2.3.14.1 cpe:2.3:a:apache:struts:2.3.14.1:*:*:*:*:*:*:*
apache struts 2.3.14.2 cpe:2.3:a:apache:struts:2.3.14.2:*:*:*:*:*:*:*
apache struts 2.3.14.3 cpe:2.3:a:apache:struts:2.3.14.3:*:*:*:*:*:*:*
apache struts 2.3.15 cpe:2.3:a:apache:struts:2.3.15:*:*:*:*:*:*:*
apache struts 2.3.15.1 cpe:2.3:a:apache:struts:2.3.15.1:*:*:*:*:*:*:*
apache struts 2.3.15.2 cpe:2.3:a:apache:struts:2.3.15.2:*:*:*:*:*:*:*
apache struts 2.3.15.3 cpe:2.3:a:apache:struts:2.3.15.3:*:*:*:*:*:*:*
apache struts 2.3.16 cpe:2.3:a:apache:struts:2.3.16:*:*:*:*:*:*:*
apache struts 2.3.16.1 cpe:2.3:a:apache:struts:2.3.16.1:*:*:*:*:*:*:*
apache struts 2.3.16.2 cpe:2.3:a:apache:struts:2.3.16.2:*:*:*:*:*:*:*
apache struts 2.3.16.3 cpe:2.3:a:apache:struts:2.3.16.3:*:*:*:*:*:*:*
apache struts 2.3.17 cpe:2.3:a:apache:struts:2.3.17:*:*:*:*:*:*:*
apache struts 2.3.19 cpe:2.3:a:apache:struts:2.3.19:*:*:*:*:*:*:*
apache struts 2.3.20 cpe:2.3:a:apache:struts:2.3.20:*:*:*:*:*:*:*
apache struts 2.3.20.1 cpe:2.3:a:apache:struts:2.3.20.1:*:*:*:*:*:*:*
apache struts 2.3.20.2 cpe:2.3:a:apache:struts:2.3.20.2:*:*:*:*:*:*:*
apache struts 2.3.21 cpe:2.3:a:apache:struts:2.3.21:*:*:*:*:*:*:*
apache struts 2.3.22 cpe:2.3:a:apache:struts:2.3.22:*:*:*:*:*:*:*
apache struts 2.3.23 cpe:2.3:a:apache:struts:2.3.23:*:*:*:*:*:*:*
apache struts 2.3.24.2 cpe:2.3:a:apache:struts:2.3.24.2:*:*:*:*:*:*:*
apache struts 2.3.24.3 cpe:2.3:a:apache:struts:2.3.24.3:*:*:*:*:*:*:*
apache struts 2.3.25 cpe:2.3:a:apache:struts:2.3.25:*:*:*:*:*:*:*
apache struts 2.3.26 cpe:2.3:a:apache:struts:2.3.26:*:*:*:*:*:*:*
apache struts 2.3.27 cpe:2.3:a:apache:struts:2.3.27:*:*:*:*:*:*:*
apache struts 2.3.28 cpe:2.3:a:apache:struts:2.3.28:*:*:*:*:*:*:*
apache struts 2.3.28.1 cpe:2.3:a:apache:struts:2.3.28.1:*:*:*:*:*:*:*
apache struts 2.3.29 cpe:2.3:a:apache:struts:2.3.29:*:*:*:*:*:*:*
apache struts 2.3.30 cpe:2.3:a:apache:struts:2.3.30:*:*:*:*:*:*:*
apache struts 2.3.31 cpe:2.3:a:apache:struts:2.3.31:*:*:*:*:*:*:*
apache struts 2.3.32 cpe:2.3:a:apache:struts:2.3.32:*:*:*:*:*:*:*
apache struts 2.3.33 cpe:2.3:a:apache:struts:2.3.33:*:*:*:*:*:*:*
apache struts 2.5 cpe:2.3:a:apache:struts:2.5:*:*:*:*:*:*:*
apache struts 2.5 cpe:2.3:a:apache:struts:2.5:beta1:*:*:*:*:*:*
apache struts 2.5 cpe:2.3:a:apache:struts:2.5:beta2:*:*:*:*:*:*
apache struts 2.5 cpe:2.3:a:apache:struts:2.5:beta3:*:*:*:*:*:*

References for CVE-2017-12611

cvelogic Threat Intelligence