{"id":"CVE-2013-2251","published":"2013-07-20T03:37:30Z","modified":"2026-06-16T23:53:01Z","title":"Apache Struts Improper Input Validation Vulnerability","vendor":"Apache","product":"Struts","tier":"core","eol":null,"description":{"text":"Apache Struts 2.0.0 through 2.3.15 allows remote attackers to execute arbitrary OGNL expressions via a parameter with a crafted (1) action:, (2) redirect:, or (3) redirectAction: prefix.","provenance":"source","from":"NVD"},"summary":{"text":"The flaw is an improper input validation issue in Apache Struts, versions 2.0.0 through 2.3.15, where parameter values with a crafted action:, redirect:, or redirectAction: prefix are processed as OGNL expressions. An unauthenticated remote attacker with network access can exploit it by sending a crafted request, with no user interaction or special configuration required, to execute arbitrary OGNL expressions.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-29T13:44:48Z"},"cvss":{"score":9.8,"severity":"CRITICAL","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","provenance":"source","from":"NVD"},"epss":{"score":0.99998,"percentile":0.9999,"date":"2026-10-29","provenance":"source"},"kev":{"dateAdded":"2022-03-25","dueDate":"2022-04-15","ransomware":false,"requiredAction":"Apply updates per vendor instructions.","notes":"https://nvd.nist.gov/vuln/detail/CVE-2013-2251","provenance":"source"},"vulncheckKev":{"dateAdded":"2020-10-14","exploitedFirstSeen":"2020-10-14","ransomware":false,"evidence":[{"url":"https://unit42.paloaltonetworks.com/iot-vulnerabilities-mirai-payloads/","date":"2020-10-14"},{"url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","date":"2022-03-25"},{"url":"https://veriti.ai/blog/vulnerable-villain-when-hackers-get-hacked/","date":"2024-04-15"},{"url":"https://www.f5.com/labs/articles/threat-intelligence/continued-scanning-for-cve-2023-1389","date":"2025-01-21"},{"url":"https://www.labs.greynoise.io/grimoire/2025-12-26-coldfusion/","date":"2025-12-26"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-09-16&host_type=src&vulnerability=cve-2013-2251","date":"2026-09-16"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-09-17&host_type=src&vulnerability=cve-2013-2251","date":"2026-09-17"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-09-18&host_type=src&vulnerability=cve-2013-2251","date":"2026-09-18"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-09-20&host_type=src&vulnerability=cve-2013-2251","date":"2026-09-20"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-09-21&host_type=src&vulnerability=cve-2013-2251","date":"2026-09-21"}],"evidenceTotal":28,"provenance":"source"},"exploited":true,"otx":{"pulseCount":50,"pulses":[{"name":"Actively_Exploited_Kev | Oct 29, 2026","url":"https://otx.alienvault.com/pulse/6ae20c1db17e7057ae7d9ad1","created":"2026-10-28"},{"name":"Actively_Exploited_Kev | Oct 28, 2026","url":"https://otx.alienvault.com/pulse/6ae0ba7e0e2a97ff7b218819","created":"2026-10-27"},{"name":"Actively_Exploited_Kev | Oct 27, 2026","url":"https://otx.alienvault.com/pulse/6adf68b85c3e852f3c111d18","created":"2026-10-26"},{"name":"Actively_Exploited_Kev | Oct 24, 2026","url":"https://otx.alienvault.com/pulse/6adb740e397c3ad4799aa4cd","created":"2026-10-23"},{"name":"Actively_Exploited_Kev | Oct 23, 2026","url":"https://otx.alienvault.com/pulse/6ada236fcfba2dfa730ea482","created":"2026-10-22"},{"name":"Actively_Exploited_Kev | Oct 22, 2026","url":"https://otx.alienvault.com/pulse/6ad8d33a077cbb5cab524d80","created":"2026-10-21"},{"name":"Actively_Exploited_Kev | Oct 21, 2026","url":"https://otx.alienvault.com/pulse/6ad78130c4d1ac2be83a8b6d","created":"2026-10-20"},{"name":"Actively_Exploited_Kev | Oct 20, 2026","url":"https://otx.alienvault.com/pulse/6ad62f63c24a405a3423cc13","created":"2026-10-19"},{"name":"Actively_Exploited_Kev | Oct 19, 2026","url":"https://otx.alienvault.com/pulse/6ad4dda174e5797d0bd238b7","created":"2026-10-18"},{"name":"Actively_Exploited_Kev | Oct 18, 2026","url":"https://otx.alienvault.com/pulse/6ad38c22e1848f8189d1c121","created":"2026-10-17"}],"provenance":"machine"},"cwes":[{"id":"CWE-74","name":"Improper Neutralization of Special Elements in Output Used by a Downstream Component"},{"id":"CWE-20","name":"Improper Input Validation"}],"references":[{"url":"http://archiva.apache.org/security.html","tags":["Product"]},{"url":"http://cxsecurity.com/issue/WLB-2014010087","tags":["Exploit","Third Party Advisory"]},{"url":"http://osvdb.org/98445","tags":["Broken Link"]},{"url":"http://packetstormsecurity.com/files/159629/Apache-Struts-2-Remote-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://seclists.org/fulldisclosure/2013/Oct/96","tags":["Exploit","Mailing List","Third Party Advisory"]},{"url":"http://seclists.org/oss-sec/2014/q1/89","tags":["Mailing List","Third Party Advisory"]},{"url":"http://struts.apache.org/release/2.3.x/docs/s2-016.html","tags":["Patch"]},{"url":"http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20131023-struts2","tags":["Third Party Advisory"]},{"url":"http://www.fujitsu.com/global/support/software/security/products-f/interstage-bpm-analytics-201301e.html","tags":["Broken Link","Third Party Advisory"]},{"url":"http://www.oracle.com/technetwork/topics/security/cpujan2014-1972949.html","tags":["Patch","Third Party Advisory"]},{"url":"http://www.oracle.com/technetwork/topics/security/cpujul2015-2367936.html","tags":["Patch","Third Party Advisory"]},{"url":"http://www.securityfocus.com/bid/61189","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"http://www.securityfocus.com/bid/64758","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"http://www.securitytracker.com/id/1029184","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"http://www.securitytracker.com/id/1032916","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"https://exchange.xforce.ibmcloud.com/vulnerabilities/90392","tags":["Third Party Advisory","VDB Entry"]},{"url":"http://archiva.apache.org/security.html","tags":["Product"]},{"url":"http://cxsecurity.com/issue/WLB-2014010087","tags":["Exploit","Third Party Advisory"]},{"url":"http://osvdb.org/98445","tags":["Broken Link"]},{"url":"http://packetstormsecurity.com/files/159629/Apache-Struts-2-Remote-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://seclists.org/fulldisclosure/2013/Oct/96","tags":["Exploit","Mailing List","Third Party Advisory"]},{"url":"http://seclists.org/oss-sec/2014/q1/89","tags":["Mailing List","Third Party Advisory"]},{"url":"http://struts.apache.org/release/2.3.x/docs/s2-016.html","tags":["Patch"]},{"url":"http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20131023-struts2","tags":["Third Party Advisory"]},{"url":"http://www.fujitsu.com/global/support/software/security/products-f/interstage-bpm-analytics-201301e.html","tags":["Broken Link","Third Party Advisory"]},{"url":"http://www.oracle.com/technetwork/topics/security/cpujan2014-1972949.html","tags":["Patch","Third Party Advisory"]},{"url":"http://www.oracle.com/technetwork/topics/security/cpujul2015-2367936.html","tags":["Patch","Third Party Advisory"]},{"url":"http://www.securityfocus.com/bid/61189","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"http://www.securityfocus.com/bid/64758","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"http://www.securitytracker.com/id/1029184","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"http://www.securitytracker.com/id/1032916","tags":["Broken Link","Third Party Advisory","VDB Entry"]},{"url":"https://exchange.xforce.ibmcloud.com/vulnerabilities/90392","tags":["Third Party Advisory","VDB Entry"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2013-2251","tags":["US Government Resource"]}],"techniques":[{"id":"T1190","name":"Exploit Public-Facing Application","tactics":["initial-access"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: Remote attacker exploits public-facing Struts application","mappingType":"exploitation_technique","evidence":[{"from":"description","quote":"allows remote attackers to execute arbitrary OGNL expressions","start":35,"end":96}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"},{"id":"T1059","name":"Command and Scripting Interpreter","tactics":["execution"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: OGNL expression execution yields arbitrary code execution","mappingType":"primary_impact","evidence":[{"from":"description","quote":"allows remote attackers to execute arbitrary OGNL expressions","start":35,"end":96}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"}],"reports":[],"affected":[{"ecosystem":"Maven","package":"org.apache.struts:struts2-core","vulnerableRanges":["<2.3.15.1"],"patched":["2.3.15.1"],"from":["GHSA-47qp-8v9g-39hp"],"provenance":"source"}],"advisories":[{"id":"GHSA-47qp-8v9g-39hp","url":"https://github.com/advisories/GHSA-47qp-8v9g-39hp","severity":"CRITICAL","ecosystem":"Maven","package":"org.apache.struts:struts2-core","vulnerableRanges":["<2.3.15.1"],"patched":["2.3.15.1"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2022-2328","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2022-2328","exploited":true,"exploitedSince":"2022-03-25","provenance":"source"},"exploits":[{"id":27135,"url":"https://www.exploit-db.com/exploits/27135","title":"Apache Struts 2 - DefaultActionMapper Prefixes OGNL Code Execution (Metasploit)","type":"remote","platform":"multiple","date":"2013-07-27","verified":true,"provenance":"source"},{"id":44583,"url":"https://www.exploit-db.com/exploits/44583","title":"Apache Struts2 2.0.0 < 2.3.15 - Prefixed Parameters OGNL Injection","type":"webapps","platform":"multiple","date":"2014-01-14","verified":true,"provenance":"source"}],"exploitSources":{"exploitdb":{"count":2,"earliest":"2013-07-27"},"pocGithub":{"count":1,"skipped":0,"earliest":"2023-08-04","earliestUrl":"https://github.com/nth347/struts2-CVE-2013-2251","repos":[{"name":"nth347/struts2-CVE-2013-2251","url":"https://github.com/nth347/struts2-CVE-2013-2251","stars":0,"created":"2023-08-04"}]},"metasploit":[{"name":"Apache Struts 2 DefaultActionMapper Prefixes OGNL Code Execution","module":"exploit/multi/http/struts_default_action_mapper","type":"exploit","disclosureDate":"2013-07-02","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts_default_action_mapper.rb"}],"nuclei":[{"id":"CVE-2013-2251","name":"Apache Struts 2 - DefaultActionMapper Prefixes OGNL Code Execution","severity":"critical","path":"http/cves/2013/CVE-2013-2251.yaml","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2013/CVE-2013-2251.yaml"}],"first":{"date":"2013-07-02","source":"Metasploit","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts_default_action_mapper.rb"},"provenance":"source"},"exploitRefs":["http://cxsecurity.com/issue/WLB-2014010087","http://packetstormsecurity.com/files/159629/Apache-Struts-2-Remote-Code-Execution.html","http://seclists.org/fulldisclosure/2013/Oct/96"],"flow":[{"stage":"exploitation","techniques":["T1190"],"provenance":"ai"},{"stage":"primary","techniques":["T1059"],"provenance":"ai"}],"timeline":[{"date":"2013-07-02","kind":"exploit-public","label":"First public exploit: Metasploit; later: Exploit-DB 2013-07-27, PoC-in-GitHub 2023-08-04","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts_default_action_mapper.rb","provenance":"source"},{"date":"2013-07-20","kind":"published","label":"Published (NVD)","url":"https://nvd.nist.gov/vuln/detail/CVE-2013-2251","provenance":"source"},{"date":"2020-10-14","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://unit42.paloaltonetworks.com/iot-vulnerabilities-mirai-payloads/","provenance":"source"},{"date":"2022-03-25","kind":"kev","label":"Added to CISA KEV","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","provenance":"source"},{"date":"2022-03-25","kind":"euvd-exploited","label":"ENISA EUVD: exploited","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2022-2328","provenance":"source"}],"speed":{"daysToPublicExploit":null,"firstExploitFrom":"Metasploit","daysToKev":3170},"priority":{"score":69.9,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in CISA KEV and VulnCheck KEV"},{"name":"Recent KEV listing","points":0.0,"detail":"added 2207 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":20.0,"detail":"percentile 0.9999"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"3 NVD references tagged Exploit; 2 Exploit-DB entries; 1 PoC-in-GitHub repo; 1 Metasploit module; 1 nuclei template"},{"name":"Mentioned in OTX pulses","points":3.0,"detail":"50 pulses"},{"name":"CVSS severity","points":6.86,"detail":"base score 9.8"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]},"lineage":{"familyId":"fam-apache-struts-cve-2013-2134","children":[{"from":"CVE-2013-2251","to":"CVE-2013-4310","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java"],"commits":["https://github.com/apache/struts/commit/3cfe34fefedcf0fdcfcb061c0aea34a715b7de63","https://github.com/apache/struts/commit/630e1ba065a8215c4e9ac03bfb09be9d655c2b6e","https://github.com/apache/struts/commit/0c8366cb792227d484b9ca13e537037dd0cb57dc"],"basis":"shared function","functions":["execute"]}]}],"packageHistory":[{"cve":"CVE-2013-2134","published":"2013-07-16","fixed":"2.3.14.3","kev":false},{"cve":"CVE-2013-2135","published":"2013-07-16","fixed":"2.3.14.3","kev":false,"link":{"from":"CVE-2013-2135","to":"CVE-2013-2251","relation":"successor","confidence":"high","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:org.apache.struts:struts2-core","fromFixed":"2.3.14.3","toFixed":"2.3.15.1","daysApart":4},{"kind":"same-code","provenance":"machine","files":["core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java"],"commits":["https://github.com/apache/struts/commit/01e6b251b4db78bfb7971033652e81d1af4cb3e0","https://github.com/apache/struts/commit/041206d2a693d02c0cb2e72765275e55ba14049f","https://github.com/apache/struts/commit/3cfe34fefedcf0fdcfcb061c0aea34a715b7de63","https://github.com/apache/struts/commit/630e1ba065a8215c4e9ac03bfb09be9d655c2b6e"],"basis":"shared file"},{"kind":"similar","provenance":"machine","score":0.39,"basis":"same package + description similarity"}]}},{"cve":"CVE-2013-2248","published":"2013-07-18","fixed":"2.3.15.1","kev":false},{"cve":"CVE-2013-2251","published":"2013-07-20","fixed":"2.3.15.1","kev":true},{"cve":"CVE-2013-4316","published":"2013-09-30","fixed":"2.3.15.2","kev":false,"link":{"from":"CVE-2013-2251","to":"CVE-2013-4316","relation":"successor","confidence":"high","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:org.apache.struts:struts2-core","fromFixed":"2.3.15.1","toFixed":"2.3.15.2","daysApart":72},{"kind":"same-code","provenance":"machine","files":["core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java"],"commits":["https://github.com/apache/struts/commit/3cfe34fefedcf0fdcfcb061c0aea34a715b7de63","https://github.com/apache/struts/commit/630e1ba065a8215c4e9ac03bfb09be9d655c2b6e","https://github.com/apache/struts/commit/58947c3f85ae641c1a476316a2888e53605948d1","https://github.com/apache/struts/commit/c643336945dda84cbcdc8a39530baa24fede28c4"],"basis":"shared file"}]}},{"cve":"CVE-2013-4310","published":"2013-09-30","fixed":"2.3.15.3","kev":false},{"cve":"CVE-2013-6348","published":"2013-11-02","fixed":"2.3.16","kev":false}],"package":"Maven:org.apache.struts:struts2-core"}}