← back
CVE-2021-33037

Incorrect Transfer-Encoding handling with HTTP/1.0

EPSS 75.4%CWE-444
In short

Apache Tomcat versions 8.5, 9.0, and 10.0 have a flaw where they don't properly handle the HTTP transfer-encoding header in certain cases, allowing an attacker to manipulate how requests are processed when Tomcat sits behind a reverse proxy. This can lead to request smuggling attacks where one request is interpreted differently by the proxy and Tomcat, bypassing security controls.

Technical detail

The vulnerability stems from improper Transfer-Encoding header parsing: Tomcat ignores transfer-encoding if a client requests HTTP/1.0 responses, incorrectly honors identity encoding, and fails to validate that chunked encoding is the final encoding in the chain. When deployed behind a reverse proxy, this discrepancy enables HTTP request smuggling (CWE-444), allowing attackers to inject requests that bypass WAF or authentication mechanisms.

Summary generated and translated by AI from the official description.
Apache Tomcat 10.0.0-M1 to 10.0.6, 9.0.0.M1 to 9.0.46 and 8.5.0 to 8.5.66 did not correctly parse the HTTP transfer-encoding request header in some circumstances leading to the possibility to request smuggling when used with a reverse proxy. Specifically: - Tomcat incorrectly ignored the transfer encoding header if the client declared it would only accept an HTTP/1.0 response; - Tomcat honoured the identify encoding; and - Tomcat did not ensure that, if present, the chunked encoding was the final encoding.

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →