← 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
What the vendors declare (VEX)

Official vendor statements in CSAF/VEX format: whether their product is affected, already fixed, or ruled out — and why. These are the vendor's assertions, not Vexday's judgment.

Affected
2 products (3 components)
Red Hat OpenStack Platform 13 (Queens) · Red Hat OpenStack Platform 10 (Newton)
no_fix_planned: Out of support scope
Fixed
5 products (39 components)
Red Hat JBoss Web Server 5.6 for RHEL 7 Server · Red Hat JBoss Web Server 5.6 for RHEL 8 · Red Hat Fuse 7.11 · Red Hat JBoss Web Server 5 · Red Hat Support for Spring Boot 2.5.10
Not affected
10 products (32 components) — because the vulnerable code is not present in the product
Red Hat Enterprise Linux 6 · Red Hat Enterprise Linux 7 · Red Hat Enterprise Linux 8 · Red Hat Decision Manager 7 · Red Hat JBoss Data Grid 6 · and others 5
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.