← back
CVE-2021-33037CWE-444

Incorrect Transfer-Encoding handling with HTTP/1.0

25Vexday Risk Score

No sign of exploitation. No public exploitation artifact known so far.

ssvc Trackepss 75%
exploitation probability
75%top 1% of all CVEs
observed exploitation
nono source reports it
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.