{"id":"CVE-2019-0232","details":"When running on Windows with enableCmdLineArguments enabled, the CGI Servlet in Apache Tomcat 9.0.0.M1 to 9.0.17, 8.5.0 to 8.5.39 and 7.0.0 to 7.0.93 is vulnerable to Remote Code Execution due to a bug in the way the JRE passes command line arguments to Windows. The CGI Servlet is disabled by default. The CGI option enableCmdLineArguments is disable by default in Tomcat 9.0.x (and will be disabled by default in all versions in response to this vulnerability). For a detailed explanation of the JRE behaviour, see Markus Wulftange's blog (https://codewhitesec.blogspot.com/2016/02/java-and-command-line-injections-in-windows.html) and this archived MSDN blog (https://web.archive.org/web/20161228144344/https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/).","aliases":["GHSA-8vmx-qmch-mpqg"],"modified":"2026-08-18T11:20:50.176151Z","published":"2019-04-15T15:29:00.420Z","references":[{"type":"WEB","url":"http://packetstormsecurity.com/files/153506/Apache-Tomcat-CGIServlet-enableCmdLineArguments-Remote-Code-Execution.html"},{"type":"WEB","url":"http://seclists.org/fulldisclosure/2019/May/4"},{"type":"WEB","url":"https://lists.apache.org/thread.html/1dd0a59c1295cc08ce4c9e7edae5ad2268acc9ba55adcefa0532e5ba%40%3Cdev.tomcat.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/3d19773b4cf0377db62d1e9328bf9160bf1819f04f988315086931d7%40%3Cdev.tomcat.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/52ffb9fbf661245386a83a661183d13f1de2e5779fa23837a08e02ac%40%3Ccommits.ofbiz.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/5f297a4b9080b5f65a05bc139596d0e437d6a539b25e31d29d028767%40%3Cannounce.tomcat.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/673b6148d92cd7bc99ea2dcf85ad75d57da44fc322d51f37fb529a2a%40%3Ccommits.ofbiz.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/6af47120905aa7d8fe12f42e8ff2284fb338ba141d3b77b8c7cb61b3%40%3Cdev.tomcat.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/96849486813a95dfd542e1618b7923ca945508aaf4a4341f674d83e3%40%3Cnotifications.ofbiz.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/a6c87a09a71162fd563ab1c4e70a08a103e0b7c199fc391f1c9c4c35%40%3Ccommits.ofbiz.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/dd4b325cdb261183dbf5ce913c102920a8f09c26dae666a98309165b%40%3Cnotifications.ofbiz.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/f4d48b32ef2b6aa49c8830241a9475da5b46e451f964b291c7a0a715%40%3Cdev.tomcat.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r3bbb800a816d0a51eccc5a228c58736960a9fffafa581a225834d97d%40%3Cdev.tomcat.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r48c1444845fe15a823e1374674bfc297d5008a5453788099ea14caf0%40%3Cdev.tomcat.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r6ccee4e849bc77df0840c7f853f6bd09d426f6741247da2b7429d5d9%40%3Cdev.tomcat.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r6d03e45b81eab03580cf7f8bb51cb3e9a1b10a2cc0c6a2d3cc92ed0c%40%3Cannounce.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r9136ff5b13e4f1941360b5a309efee2c114a14855578c3a2cbe5d19c%40%3Cdev.tomcat.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/raba0fabaf4d56d4325ab2aca8814f0b30a237ab83d8106b115ee279a%40%3Cdev.tomcat.apache.org%3E"},{"type":"WEB","url":"https://www.oracle.com/security-alerts/cpuApr2021.html"},{"type":"WEB","url":"https://www.oracle.com/security-alerts/cpuapr2020.html"},{"type":"WEB","url":"https://www.oracle.com/security-alerts/cpujan2020.html"},{"type":"WEB","url":"https://wwws.nightwatchcybersecurity.com/2019/04/30/remote-code-execution-rce-in-cgi-servlet-apache-tomcat-on-windows-cve-2019-0232/"},{"type":"ADVISORY","url":"http://www.securityfocus.com/bid/107906"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2019:1712"},{"type":"ADVISORY","url":"https://codewhitesec.blogspot.com/2016/02/java-and-command-line-injections-in-windows.html"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20190419-0001/"},{"type":"ADVISORY","url":"https://web.archive.org/web/20161228144344/https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/"},{"type":"ADVISORY","url":"https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html"},{"type":"ADVISORY","url":"https://www.oracle.com/technetwork/security-advisory/cpuoct2019-5072832.html"},{"type":"ADVISORY","url":"https://www.synology.com/security/advisory/Synology_SA_19_17"},{"type":"ARTICLE","url":"https://blog.trendmicro.com/trendlabs-security-intelligence/uncovering-cve-2019-0232-a-remote-code-execution-vulnerability-in-apache-tomcat/"},{"type":"ARTICLE","url":"https://www.broadcom.com/support/fibre-channel-networking/security-advisories/brocade-security-advisory-2019-784"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/apache/tomcat","events":[{"introduced":"e498667bd7811e846771a852b16ce9f1e524b81b"},{"last_affected":"813426f377e0f26ed1e8b6bc70abad881bfa4409"},{"introduced":"e37b977db6f47e4380ad67114a49e8568951c953"},{"last_affected":"f481565d959dc5a5eae1576cc294774c8683b4dc"},{"introduced":"3c78e95e36268dfb76db1570f0cf49104fa6eabc"},{"last_affected":"25d7c99e8c44a41a08ba85ccaba3cfec6af9c801"},{"introduced":"29b07def810d335012e738b22ab44d4e232b50d1"},{"last_affected":"45f8fd74cdb96490fab8709263a4d862f0d429cf"}],"database_specific":{"extracted_events":[{"introduced":"7.0.0"},{"last_affected":"7.0.93"},{"introduced":"8.5.0"},{"last_affected":"8.5.39"},{"introduced":"9.0.1"},{"last_affected":"9.0.17"},{"introduced":"9.0.0-milestone1"},{"last_affected":"9.0.0-milestone1"},{"introduced":"9.0.0-milestone10"},{"last_affected":"9.0.0-milestone10"},{"introduced":"9.0.0-milestone11"},{"last_affected":"9.0.0-milestone11"},{"introduced":"9.0.0-milestone12"},{"last_affected":"9.0.0-milestone12"},{"introduced":"9.0.0-milestone13"},{"last_affected":"9.0.0-milestone13"},{"introduced":"9.0.0-milestone14"},{"last_affected":"9.0.0-milestone14"},{"introduced":"9.0.0-milestone15"},{"last_affected":"9.0.0-milestone15"},{"introduced":"9.0.0-milestone16"},{"last_affected":"9.0.0-milestone16"},{"introduced":"9.0.0-milestone17"},{"last_affected":"9.0.0-milestone17"},{"introduced":"9.0.0-milestone18"},{"last_affected":"9.0.0-milestone18"},{"introduced":"9.0.0-milestone19"},{"last_affected":"9.0.0-milestone19"},{"introduced":"9.0.0-milestone2"},{"last_affected":"9.0.0-milestone2"},{"introduced":"9.0.0-milestone20"},{"last_affected":"9.0.0-milestone20"},{"introduced":"9.0.0-milestone21"},{"last_affected":"9.0.0-milestone21"},{"introduced":"9.0.0-milestone22"},{"last_affected":"9.0.0-milestone22"},{"introduced":"9.0.0-milestone23"},{"last_affected":"9.0.0-milestone23"},{"introduced":"9.0.0-milestone24"},{"last_affected":"9.0.0-milestone24"},{"introduced":"9.0.0-milestone25"},{"last_affected":"9.0.0-milestone25"},{"introduced":"9.0.0-milestone26"},{"last_affected":"9.0.0-milestone26"},{"introduced":"9.0.0-milestone3"},{"last_affected":"9.0.0-milestone3"},{"introduced":"9.0.0-milestone4"},{"last_affected":"9.0.0-milestone4"},{"introduced":"9.0.0-milestone5"},{"last_affected":"9.0.0-milestone5"},{"introduced":"9.0.0-milestone6"},{"last_affected":"9.0.0-milestone6"},{"introduced":"9.0.0-milestone7"},{"last_affected":"9.0.0-milestone7"},{"introduced":"9.0.0-milestone8"},{"last_affected":"9.0.0-milestone8"},{"introduced":"9.0.0-milestone9"},{"last_affected":"9.0.0-milestone9"}],"source":["CPE_RANGE","CPE_STRING"],"cpe":["cpe:2.3:a:apache:tomcat:*:*:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone1:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone10:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone11:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone12:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone13:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone14:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone15:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone16:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone17:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone18:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone19:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone2:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone20:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone21:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone22:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone23:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone24:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone25:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone26:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone3:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone4:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone5:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone6:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone7:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone8:*:*:*:*:*:*","cpe:2.3:a:apache:tomcat:9.0.0:milestone9:*:*:*:*:*:*"]}}],"versions":["9.0.0-milestone1","9.0.0-milestone10","9.0.0-milestone11","9.0.0-milestone12","9.0.0-milestone13","9.0.0-milestone14","9.0.0-milestone15","9.0.0-milestone16","9.0.0-milestone17","9.0.0-milestone18","9.0.0-milestone19","9.0.0-milestone2","9.0.0-milestone20","9.0.0-milestone21","9.0.0-milestone22","9.0.0-milestone23","9.0.0-milestone24","9.0.0-milestone25","9.0.0-milestone26","9.0.0-milestone3","9.0.0-milestone4","9.0.0-milestone5","9.0.0-milestone6","9.0.0-milestone7","9.0.0-milestone8","9.0.0-milestone9"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2019-0232.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}