Apache Tomcat HTTP Request Smuggling via Invalid Request-Line Characters
CVE-2016-6816 is an HTTP request-smuggling and response-injection vulnerability in Apache Tomcat caused by permissive parsing of invalid characters in HTTP request lines. It affects Tomcat 9.0.0.M1 through 9.0.0.M11, 8.5.0 through 8.5.6, 8.0.0.RC1 through 8.0.38, 7.0.0 through 7.0.72, and 6.0.0 through 6.0.47. When Tomcat is deployed behind an intermediary proxy that accepts the malformed characters but interprets them differently, an attacker can desynchronize request handling and inject data into an HTTP response.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation can enable attacker-controlled HTTP response injection, web-cache poisoning, cross-site scripting, and disclosure of sensitive information associated with other users' requests. The parsing discrepancy may also allow malformed requests to bypass security controls that inspect or normalize HTTP traffic differently from the proxy and backend server.
If you can’t patch tonight, do this now.
Ensure front-end proxies, load balancers, web application firewalls, and Tomcat enforce a consistent strict HTTP request grammar and reject invalid request-line characters before forwarding traffic. Avoid configurations in which intermediaries accept or normalize malformed requests differently from the backend. Restrict any compatibility allowance for nonstandard request-target characters to the minimum necessary scope.
Patch, then assume compromise.
Upgrade Apache Tomcat to a fixed release: 9.0.0.M12 or later, 8.5.8 or later, 8.0.39 or later, 7.0.73 or later, or 6.0.48 or later. Apply the applicable vendor update for supported packaged or integrated Tomcat deployments, including Red Hat Enterprise Linux and JBoss products. Following remediation, Tomcat rejects HTTP request characters prohibited by the HTTP specification with HTTP 400 responses; applications that relied on malformed request targets must be corrected. Tomcat provides the tomcat.util.http.parser.HttpParser.requestTargetAllow property for narrowly permitting unencoded curly braces and pipe characters where compatibility requires it.
No validated public exploits yet. Hidden: 1 not yet analyzed, such as Exploit-DB entries.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
20 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.