{"id":"CVE-2017-9791","aliases":["EUVD-2022-1954","GHSA-29rm-6752-gvwv"],"status":"published","title":"Code execution in Apache Struts 1 plugin","description":"The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.98908,"percentile":0.99927,"model":"v2026.06.15"},"facts":{"in_kev":true,"known_exploited":true,"public_exploit":true,"fix_available":false},"cwes":["CWE-20"],"published":"2017-07-10T16:00:00Z","modified":"2026-10-24T10:31:00Z","kev":{"date_added":"2022-02-10","due_date":"2022-08-10","required_action":"Apply updates per vendor instructions.","known_ransomware_use":"Unknown"},"exploitation":[{"source":"euvd","since":"2022-02-10"},{"source":"kev","since":"2022-02-10"}],"exploits":[{"source":"exploitdb","id":"EDB-42324","title":"Apache Struts 2.3.x Showcase - Remote Code Execution","type":"webapps","platform":"multiple","date":"2017-07-07","verified":true,"url":"https://www.exploit-db.com/exploits/42324"},{"source":"pocgithub","id":"IanSmith123/s2-048","title":"IanSmith123/s2-048","date":"2017-07-07","url":"https://github.com/IanSmith123/s2-048"},{"source":"pocgithub","id":"dragoneeg/Struts2-048","title":"dragoneeg/Struts2-048","date":"2017-07-07","url":"https://github.com/dragoneeg/Struts2-048"},{"source":"metasploit","id":"exploit/multi/http/struts2_code_exec_showcase","title":"Apache Struts 2 Struts 1 Plugin Showcase OGNL Code Execution","type":"exploit","platform":"Linux,Unix,Windows","date":"2017-07-07","verified":true,"url":"https://www.rapid7.com/db/modules/exploit/multi/http/struts2_code_exec_showcase"},{"source":"pocgithub","id":"xfer0/CVE-2017-9791","title":"xfer0/CVE-2017-9791","date":"2017-09-23","url":"https://github.com/xfer0/CVE-2017-9791"},{"source":"exploitdb","id":"EDB-44643","title":"Apache Struts 2 - Struts 1 Plugin Showcase OGNL Code Execution (Metasploit)","type":"remote","platform":"multiple","date":"2018-05-17","verified":true,"url":"https://www.exploit-db.com/exploits/44643"},{"source":"nuclei","id":"CVE-2017-9791","title":"Apache Struts2 S2-053 - Remote Code Execution","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2017/CVE-2017-9791.yaml"}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.apache.struts:struts2-struts1-plugin","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.3.37"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.apache.struts:struts2-struts1-plugin","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.3.37"}]}],"versions":["2.0.11","2.0.11.1","2.0.11.2","2.0.12","2.0.14","2.0.5","2.0.6","2.0.8","2.0.9","2.1.2","2.1.6","2.1.8","2.1.8.1","2.2.1","2.2.1.1","2.2.3","2.2.3.1","2.3.1","2.3.1.1","2.3.1.2","2.3.12","2.3.14","2.3.14.1","2.3.14.2","2.3.14.3","2.3.15","2.3.15.1","2.3.15.2","2.3.15.3","2.3.16","2.3.16.1","2.3.16.2","2.3.16.3","2.3.20","2.3.20.1","2.3.20.3","2.3.24","2.3.24.1","2.3.24.3","2.3.28","2.3.28.1","2.3.29","2.3.3","2.3.30","2.3.31","2.3.32","2.3.33","2.3.34","2.3.35","2.3.36","2.3.37","2.3.4","2.3.4.1","2.3.7","2.3.8"]}],"products":[{"vendor":"apache","product":"struts"},{"vendor":"apache","product":"struts 1"},{"vendor":"apache software foundation","product":"apache struts"}],"references":[{"url":"http://www.oracle.com/technetwork/security-advisory/alert-cve-2017-9805-3889403.html","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"http://www.securityfocus.com/bid/99484","tags":["vdb-entry","x_refsource_BID","x_transferred","Broken Link","Third Party Advisory","VDB Entry","advisory","web"]},{"url":"https://www.exploit-db.com/exploits/42324/","tags":["exploit","x_refsource_EXPLOIT-DB","x_transferred","Third Party Advisory","VDB Entry","advisory"]},{"url":"http://struts.apache.org/docs/s2-048.html","tags":["x_refsource_CONFIRM","x_transferred","Mitigation","Vendor Advisory","advisory","web"]},{"url":"http://www.securitytracker.com/id/1038838","tags":["vdb-entry","x_refsource_SECTRACK","x_transferred","Broken Link","Third Party Advisory","VDB Entry","advisory","web"]},{"url":"https://www.exploit-db.com/exploits/44643/","tags":["exploit","x_refsource_EXPLOIT-DB","x_transferred","Third Party Advisory","VDB Entry","advisory"]},{"url":"https://security.netapp.com/advisory/ntap-20180706-0002/","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2017-9791","tags":["government-resource","US Government Resource","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-9791","tags":["advisory"]},{"url":"https://github.com/apache/struts/commit/ffe0e20edd9d5386f4410fddd970286a69373243","tags":["web"]},{"url":"https://security.netapp.com/advisory/ntap-20180706-0002","tags":["web"]},{"url":"https://www.exploit-db.com/exploits/42324","tags":["web"]},{"url":"https://www.exploit-db.com/exploits/44643","tags":["web"]},{"url":"https://github.com/advisories/GHSA-29rm-6752-gvwv"}],"sources":{"cve":[{"id":"CVE-2017-9791","description":"The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.","status":"published","published":"2017-07-10T16:00:00Z","modified":"2025-10-21T23:55:38.964Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:33:13.96587Z"}],"euvd":[{"id":"EUVD-2022-1954","description":"The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.","status":"published","published":"2017-07-10T16:00:00Z","modified":"2025-10-21T23:55:38Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"exploited_since":"2022-02-10","updated_at":"2026-11-02T20:31:23.427989Z"}],"ghsa":[{"id":"GHSA-29rm-6752-gvwv","title":"Code execution in Apache Struts 1 plugin","description":"The Struts 1 plugin used with Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.","status":"published","published":"2022-05-13T01:26:13Z","modified":"2025-10-22T17:32:24Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:H","level":"critical"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:39:02.474737Z"}],"kev":[{"id":"CVE-2017-9791","title":"Apache Struts 1 Improper Input Validation Vulnerability","description":"The Struts 1 plugin in Apache Struts might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.","cwes":["CWE-20"],"kev":{"date_added":"2022-02-10","due_date":"2022-08-10","required_action":"Apply updates per vendor instructions.","known_ransomware_use":"Unknown"},"updated_at":"2026-11-02T17:00:16.541131Z"}],"nvd":[{"id":"CVE-2017-9791","description":"The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.","status":"published","published":"2017-07-10T16:29:00.277Z","modified":"2026-06-17T01:28:55.19Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:03:54.012105Z"}],"osv":[{"id":"CVE-2017-9791","description":"The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.","status":"published","published":"2017-07-10T16:29:00.277Z","modified":"2026-10-24T10:31:00.925261316Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:07.192756Z"},{"id":"GHSA-29rm-6752-gvwv","title":"Code execution in Apache Struts 1 plugin","description":"The Struts 1 plugin used with Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.","status":"published","published":"2022-05-13T01:26:13Z","modified":"2025-10-22T19:26:00.17113Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:H","level":"critical"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:34.338541Z"}]}}
