{"id":"CVE-2017-5638","details":"The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 has incorrect exception handling and error-message generation during file-upload attempts, which allows remote attackers to execute arbitrary commands via a crafted Content-Type, Content-Disposition, or Content-Length HTTP header, as exploited in the wild in March 2017 with a Content-Type header containing a #cmd= string.","aliases":["GHSA-j77q-2qqg-6989"],"modified":"2026-04-10T04:02:35.326558Z","published":"2017-03-11T02:59:00.150Z","references":[{"type":"WEB","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2017-5638"},{"type":"WEB","url":"https://git1-us-west.apache.org/repos/asf?p=struts.git%3Ba=commit%3Bh=6b8272ce47160036ed120a48345d9aa884477228"},{"type":"WEB","url":"https://git1-us-west.apache.org/repos/asf?p=struts.git%3Ba=commit%3Bh=352306493971e7d5a756d61780d57a76eb1f519a"},{"type":"WEB","url":"https://h20566.www2.hpe.com/hpsc/doc/public/display?docLocale=en_US&docId=emr_na-hpesbgn03733en_us"},{"type":"ADVISORY","url":"https://struts.apache.org/docs/s2-045.html"},{"type":"ADVISORY","url":"http://www.eweek.com/security/apache-struts-vulnerability-under-attack.html"},{"type":"ADVISORY","url":"https://twitter.com/theog150/status/841146956135124993"},{"type":"ADVISORY","url":"https://www.imperva.com/blog/2017/03/cve-2017-5638-new-remote-code-execution-rce-vulnerability-in-apache-struts-2/"},{"type":"ADVISORY","url":"http://www.securitytracker.com/id/1037973"},{"type":"ADVISORY","url":"https://struts.apache.org/docs/s2-046.html"},{"type":"ADVISORY","url":"https://cwiki.apache.org/confluence/display/WW/S2-046"},{"type":"ADVISORY","url":"https://www.kb.cert.org/vuls/id/834067"},{"type":"ADVISORY","url":"https://h20566.www2.hpe.com/hpsc/doc/public/display?docLocale=en_US&docId=emr_na-hpesbhf03723en_us"},{"type":"ADVISORY","url":"https://support.lenovo.com/us/en/product_security/len-14200"},{"type":"ADVISORY","url":"https://www.symantec.com/security-center/network-protection-security-advisories/SA145"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20170310-0001/"},{"type":"ADVISORY","url":"http://www.arubanetworks.com/assets/alert/ARUBA-PSA-2017-002.txt"},{"type":"ADVISORY","url":"https://cwiki.apache.org/confluence/display/WW/S2-045"},{"type":"ADVISORY","url":"https://h20566.www2.hpe.com/hpsc/doc/public/display?docLocale=en_US&docId=emr_na-hpesbgn03749en_us"},{"type":"ADVISORY","url":"http://www.securityfocus.com/bid/96729"},{"type":"REPORT","url":"https://github.com/rapid7/metasploit-framework/issues/8064"},{"type":"FIX","url":"http://www.oracle.com/technetwork/security-advisory/cpujul2017-3236622.html"},{"type":"ARTICLE","url":"https://lists.apache.org/thread.html/r90890afea72a9571d666820b2fe5942a0a5f86be406fa31da3dd0922%40%3Cannounce.apache.org%3E"},{"type":"ARTICLE","url":"https://lists.apache.org/thread.html/r6d03e45b81eab03580cf7f8bb51cb3e9a1b10a2cc0c6a2d3cc92ed0c%40%3Cannounce.apache.org%3E"},{"type":"ARTICLE","url":"https://lists.apache.org/thread.html/r1125f3044a0946d1e7e6f125a6170b58d413ebd4a95157e4608041c7%40%3Cannounce.apache.org%3E"},{"type":"EVIDENCE","url":"https://isc.sans.edu/diary/22169"},{"type":"EVIDENCE","url":"https://nmap.org/nsedoc/scripts/http-vuln-cve2017-5638.html"},{"type":"EVIDENCE","url":"https://www.exploit-db.com/exploits/41614/"},{"type":"EVIDENCE","url":"http://blog.trendmicro.com/trendlabs-security-intelligence/cve-2017-5638-apache-struts-vulnerability-remote-code-execution/"},{"type":"EVIDENCE","url":"https://exploit-db.com/exploits/41570"},{"type":"EVIDENCE","url":"http://blog.talosintelligence.com/2017/03/apache-0-day-exploited.html"},{"type":"EVIDENCE","url":"https://arstechnica.com/security/2017/03/critical-vulnerability-under-massive-attack-imperils-high-impact-sites/"},{"type":"EVIDENCE","url":"https://github.com/mazen160/struts-pwn"},{"type":"EVIDENCE","url":"https://packetstormsecurity.com/files/141494/S2-45-poc.py.txt"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/apache/struts","events":[{"introduced":"c80cb8458966e10d88a192b5ce68e47aee0e944a"},{"fixed":"1ed29d508fc0a3762ad7d16336a71adcf69bd88d"},{"introduced":"0"},{"fixed":"376a891aeed6157d5621f9a9101d91be60f57b01"}],"database_specific":{"versions":[{"introduced":"2.2.3"},{"fixed":"2.3.32"},{"introduced":"2.5.0"},{"fixed":"2.5.10.1"}]}}],"versions":["STRUTS_2_3_24","STRUTS_2_3_24_1","STRUTS_2_3_25","STRUTS_2_3_26","STRUTS_2_3_27","STRUTS_2_3_28","STRUTS_2_3_29","STRUTS_2_3_30","STRUTS_2_3_31","STRUTS_2_5_10","STRUTS_2_5_3","STRUTS_2_5_4","STRUTS_2_5_5","STRUTS_2_5_6","STRUTS_2_5_7","STRUTS_2_5_8","STRUTS_2_5_9","STRUTS_2_5_BETA1","STRUTS_2_5_BETA2"],"database_specific":{"unresolved_ranges":[{"events":[{"introduced":"0"},{"last_affected":"7.7.1.6"}]},{"events":[{"introduced":"0"},{"last_affected":"7.8.1.0"}]},{"events":[{"introduced":"0"},{"last_affected":"7.7.1.6"}]},{"events":[{"introduced":"0"},{"last_affected":"7.8.1.0"}]},{"events":[{"introduced":"0"},{"last_affected":"7.7.1.6"}]},{"events":[{"introduced":"0"},{"last_affected":"7.8.1.0"}]},{"events":[{"introduced":"0"},{"last_affected":"7.7.1.6"}]},{"events":[{"introduced":"0"},{"last_affected":"7.8.1.0"}]},{"events":[{"introduced":"0"},{"last_affected":"9.1.0"}]},{"events":[{"introduced":"0"},{"last_affected":"10.0.0"}]},{"events":[{"introduced":"0"},{"last_affected":"10.1.0"}]},{"events":[{"introduced":"0"},{"last_affected":"10.2.0"}]},{"events":[{"introduced":"0"},{"last_affected":"10.5.0"}]},{"events":[{"introduced":"0"},{"last_affected":"10.3.6.0.0"}]},{"events":[{"introduced":"0"},{"last_affected":"12.1.3.0.0"}]},{"events":[{"introduced":"0"},{"last_affected":"12.2.1.1.0"}]},{"events":[{"introduced":"0"},{"last_affected":"12.2.1.2.0"}]},{"events":[{"introduced":"0"},{"fixed":"6.6.5"}]}],"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2017-5638.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}