{"id":"CVE-2017-12611","published":"2017-09-20T17:00:00Z","modified":"2024-09-17T01:30:41Z","title":"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…","vendor":"Apache Software Foundation","product":"Apache Struts","tier":"core","eol":null,"affectedVersions":[{"vendor":"Apache Software Foundation","product":"Apache Struts","versions":["2.0.0 - 2.3.33","2.5 - 2.5.10.1"]}],"description":{"text":"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.","provenance":"source","from":"CVE.org"},"summary":{"text":"The flaw is in Apache Struts (Apache Software Foundation), affecting versions 2.0.0 through 2.3.33 and 2.5 through 2.5.10.1, where an unintended expression is used in a Freemarker tag in place of a string literal. An attacker who can get such a tag to evaluate attacker-controlled input could achieve remote code execution.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-29T07:14:21Z"},"cvss":null,"epss":{"score":0.87123,"percentile":0.99748,"date":"2026-10-28","provenance":"source"},"kev":null,"vulncheckKev":{"dateAdded":"2024-04-15","exploitedFirstSeen":"2024-04-15","ransomware":false,"evidence":[{"url":"https://veriti.ai/blog/vulnerable-villain-when-hackers-get-hacked/","date":"2024-04-15"},{"url":"https://ti.qianxin.com/blog/articles/operation-run-the-cyber-carnival-of-offshore-patriots-en/","date":"2025-05-19"}],"evidenceTotal":2,"provenance":"source"},"exploited":true,"otx":{"pulseCount":6,"pulses":[{"name":"Operation RUN: Cyber ​​Carnival of “Offshore Patriots”","url":"https://otx.alienvault.com/pulse/683417be228076958095df0d","created":"2025-05-26"},{"name":"Operation RUN: UTG-Q-015 Exploits Multiple Vulnerabilities in Web3 and Financial Sectors","url":"https://otx.alienvault.com/pulse/682b70fa6e4ab314dbdd88de","created":"2025-05-19"},{"name":"invoke-mimikatz.hasthe.technology","url":"https://otx.alienvault.com/pulse/676af0f2663cdd2f25ed9e80","created":"2024-12-24"},{"name":"rogers","url":"https://otx.alienvault.com/pulse/64ab46ec79ba3a3f9f859541","created":"2023-07-09"},{"name":"rogers","url":"https://otx.alienvault.com/pulse/64ab412e96e4858e508978c7","created":"2023-07-09"},{"name":"Proof Point Emerging Exploit list","url":"https://otx.alienvault.com/pulse/6399fdc966948f6b537b9762","created":"2022-12-14"}],"provenance":"machine"},"cwes":[],"references":[{"url":"http://www.oracle.com/technetwork/security-advisory/alert-cve-2017-9805-3889403.html","tags":["x_refsource_CONFIRM"]},{"url":"http://www.arubanetworks.com/assets/alert/ARUBA-PSA-2017-003.txt","tags":["x_refsource_CONFIRM"]},{"url":"https://struts.apache.org/docs/s2-053.html","tags":["x_refsource_CONFIRM"]},{"url":"http://www.securityfocus.com/bid/100829","tags":["vdb-entry","x_refsource_BID"]},{"url":"https://kb.netapp.com/support/s/article/ka51A000000CgttQAC/NTAP-20170911-0001","tags":["x_refsource_CONFIRM"]}],"techniques":[],"reports":[],"affected":[{"ecosystem":"Maven","package":"org.apache.struts:struts2-core","vulnerableRanges":[">=2.0.1, <2.3.34",">=2.5.0, <2.5.11"],"patched":["2.3.34","2.5.11"],"from":["GHSA-8fx9-5hx8-crhm"],"provenance":"source"}],"advisories":[{"id":"GHSA-8fx9-5hx8-crhm","url":"https://github.com/advisories/GHSA-8fx9-5hx8-crhm","severity":"CRITICAL","ecosystem":"Maven","package":"org.apache.struts:struts2-core","vulnerableRanges":[">=2.0.1, <2.3.34"],"patched":["2.3.34"],"provenance":"source","from":"GHSA"},{"id":"GHSA-8fx9-5hx8-crhm","url":"https://github.com/advisories/GHSA-8fx9-5hx8-crhm","severity":"CRITICAL","ecosystem":"Maven","package":"org.apache.struts:struts2-core","vulnerableRanges":[">=2.5.0, <2.5.11"],"patched":["2.5.11"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2018-0550","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2018-0550","exploited":false,"exploitedSince":null,"provenance":"source"},"exploits":[{"id":44556,"url":"https://www.exploit-db.com/exploits/44556","title":"Apache Struts 2.0.1 < 2.3.33 / 2.5 < 2.5.10 - Arbitrary Code Execution","type":"remote","platform":"multiple","date":"2017-09-08","verified":true,"provenance":"source"}],"exploitSources":{"exploitdb":{"count":1,"earliest":"2017-09-08"},"pocGithub":{"count":2,"skipped":1,"earliest":"2017-09-08","earliestUrl":"https://github.com/brianwrf/S2-053-CVE-2017-12611","repos":[{"name":"brianwrf/S2-053-CVE-2017-12611","url":"https://github.com/brianwrf/S2-053-CVE-2017-12611","stars":37,"created":"2017-09-08"},{"name":"zeynepsilao/CVE-2017-12611_Exploit","url":"https://github.com/zeynepsilao/CVE-2017-12611_Exploit","stars":0,"created":"2025-09-24"}]},"nuclei":[{"id":"CVE-2017-12611","name":"Apache Struts2 S2-053 - Remote Code Execution","severity":"critical","path":"http/cves/2017/CVE-2017-12611.yaml","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2017/CVE-2017-12611.yaml"}],"first":{"date":"2017-09-08","source":"Exploit-DB","url":"https://www.exploit-db.com/exploits/44556"},"provenance":"source"},"exploitRefs":[],"flow":[],"timeline":[{"date":"2017-09-08","kind":"exploit-public","label":"First public exploit: Exploit-DB (EDB-44556); later: PoC-in-GitHub 2017-09-08","url":"https://www.exploit-db.com/exploits/44556","provenance":"source"},{"date":"2017-09-20","kind":"published","label":"Published (CVE.org)","url":"https://www.cve.org/CVERecord?id=CVE-2017-12611","provenance":"source"},{"date":"2024-04-15","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://veriti.ai/blog/vulnerable-villain-when-hackers-get-hacked/","provenance":"source"}],"speed":{"daysToPublicExploit":null,"firstExploitFrom":"Exploit-DB","daysToKev":null},"priority":{"score":61.9,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in VulnCheck KEV"},{"name":"Recent KEV listing","points":0.0,"detail":"added 927 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.95,"detail":"percentile 0.9975"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"1 Exploit-DB entry; 2 PoC-in-GitHub repos; 1 nuclei template"},{"name":"Mentioned in OTX pulses","points":1.92,"detail":"6 pulses"},{"name":"CVSS severity","points":0.0,"detail":"no CVSS"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]},"lineage":{"packageHistory":[{"cve":"CVE-2016-4461","published":"2017-10-16","fixed":"2.3.29","kev":false},{"cve":"CVE-2016-4436","published":"2016-10-03","fixed":"2.5.1","kev":false},{"cve":"CVE-2017-5638","published":"2017-03-11","fixed":"2.5.10.1","kev":true,"link":{"from":"CVE-2017-5638","to":"CVE-2017-12611","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:org.apache.struts:struts2-core","fromFixed":"2.5.10.1","toFixed":"2.5.11","daysApart":193}]}},{"cve":"CVE-2017-12611","published":"2017-09-20","fixed":"2.5.11","kev":false},{"cve":"CVE-2017-7672","published":"2017-07-13","fixed":"2.5.12","kev":false},{"cve":"CVE-2017-9787","published":"2017-07-13","fixed":"2.5.12","kev":false,"link":{"from":"CVE-2017-9787","to":"CVE-2017-12611","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:org.apache.struts:struts2-core","fromFixed":"2.3.33","toFixed":"2.3.34","daysApart":69}]}},{"cve":"CVE-2016-4465","published":"2016-07-04","fixed":"2.5.13","kev":false},{"cve":"CVE-2018-11776","published":"2018-08-22","fixed":"2.5.17","kev":true,"link":{"from":"CVE-2017-12611","to":"CVE-2018-11776","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:org.apache.struts:struts2-core","fromFixed":"2.3.34","toFixed":"2.3.35","daysApart":336}]}}],"package":"Maven:org.apache.struts:struts2-core"}}