Vulnerability record · CVE-2017-12611 · published 20 September 2017
CVE-2017-12611: Apache Struts Freemarker tag expression flaw enables remote code execution
Apache · Struts
Apache Struts 2.0.0 through 2.3.33 and 2.5 through 2.5.10.1 mishandle expressions used in Freemarker tags in place of string literals, allowing unintended expression evaluation. Because that evaluation can reach code execution, the flaw is a critical remote code execution issue in a widely deployed web framework.
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.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Automated analysis
critical priorityCVSS 9.8 with network reachability, no authentication or interaction, and full confidentiality, integrity and availability impact, combined with a very high EPSS score and an exploit-tagged vendor advisory.
What it is
Apache Struts 2.0.0 through 2.3.33 and 2.5 through 2.5.10.1 mishandle expressions used in Freemarker tags in place of string literals, allowing unintended expression evaluation. Because that evaluation can reach code execution, the flaw is a critical remote code execution issue in a widely deployed web framework.
Impact
An attacker can execute arbitrary code in the context of the Struts application, leading to full compromise of the affected server and any data or credentials it can reach.
Attack surface
Reachable over the network through HTTP requests to a Struts application that uses Freemarker tags with non-literal expressions; the CVSS vector indicates no authentication and no user interaction are required.
Exploitation
The vendor advisory is tagged Exploit, and EPSS is very high at 0.87123 (99.74th percentile), though the CVE is not listed in CISA KEV and no ransomware use is documented.
What to do
- Upgrade Apache Struts to a version above 2.5.10.1 (or above 2.3.33 on the 2.3 branch) per the vendor S2-053 advisory
- If immediate upgrade is not possible, apply the mitigations referenced by third-party advisories such as Aruba and Oracle
- Audit Struts applications for Freemarker tags that use expressions instead of string literals and convert them to literals
- Restrict network exposure of Struts applications and place them behind filtering or a WAF where feasible
- Verify patched status for bundled Struts in third-party products such as NetApp and Oracle offerings
Detection
- Inspect web and application logs for requests containing Freemarker expression syntax or unusual template payloads targeting Struts endpoints
- Monitor for unexpected child processes or command execution spawned by the Java application server
- Alert on outbound network connections from the Struts host that are not part of normal application behavior
- Scan deployed artifacts and dependency manifests for Struts versions in the affected ranges
This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.
Affected products
1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
| Link | Tags |
|---|---|
| http://www.arubanetworks.com/assets/alert/ARUBA-PSA-2017-003.txt | MitigationThird Party Advisory |
| http://www.oracle.com/technetwork/security-advisory/alert-cve-2017-9805-3889403.html | PatchThird Party Advisory |
| http://www.securityfocus.com/bid/100829 | Third Party AdvisoryVDB Entry |
| https://kb.netapp.com/support/s/article/ka51A000000CgttQAC/NTAP-20170911-0001 | PatchThird Party Advisory |
| https://struts.apache.org/docs/s2-053.html | ExploitVendor Advisory |
| http://www.arubanetworks.com/assets/alert/ARUBA-PSA-2017-003.txt | MitigationThird Party Advisory |
| http://www.oracle.com/technetwork/security-advisory/alert-cve-2017-9805-3889403.html | PatchThird Party Advisory |
| http://www.securityfocus.com/bid/100829 | Third Party AdvisoryVDB Entry |
| https://kb.netapp.com/support/s/article/ka51A000000CgttQAC/NTAP-20170911-0001 | PatchThird Party Advisory |
| https://struts.apache.org/docs/s2-053.html | ExploitVendor Advisory |
Track CVE-2017-12611 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2017-12611), CISA KEV, FIRST EPSS (scores of 2026-09-24). This page is refreshed as NVD updates the record.