CVE-2021-33037 in Healthcare Translational Researchinfo

Summary

by MITRE • 07/12/2021

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.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 04/25/2022

Apache Tomcat versions 10.0.0-M1 through 10.0.6, 9.0.0.M1 through 9.0.46, and 8.5.0 through 8.5.66 contained a critical vulnerability in their HTTP request parsing implementation that enabled HTTP request smuggling attacks when deployed behind reverse proxies. This vulnerability stems from improper handling of the transfer-encoding header within the HTTP protocol stack, creating a fundamental flaw in how the application server processes incoming requests. The issue manifests when Tomcat encounters specific combinations of HTTP version declarations and transfer encoding specifications, allowing malicious actors to manipulate request boundaries and potentially bypass security controls. The vulnerability operates under CWE-444, which specifically addresses improper handling of HTTP requests, and aligns with ATT&CK technique T1190 for exploiting vulnerabilities in web applications. The root cause lies in Tomcat's failure to properly validate the order and presence of transfer encodings, particularly when the client specifies HTTP/1.0 response acceptance. When clients declare they only accept HTTP/1.0 responses, Tomcat incorrectly ignored the transfer-encoding header, effectively disabling the normal request parsing logic that would otherwise enforce proper encoding sequence validation. This behavior creates a window where attackers can craft requests that appear valid to the reverse proxy but contain malformed transfer encoding sequences that Tomcat processes incorrectly. The vulnerability also demonstrates improper handling of the identity encoding, where Tomcat honored this encoding even when it should have been ignored or properly validated against other encodings. Most critically, Tomcat failed to ensure that chunked encoding, when present, was the final encoding in the sequence, a requirement that maintains HTTP protocol integrity. This oversight allows attackers to insert malicious content or manipulate request boundaries by placing chunked encoding in non-final positions, enabling sophisticated smuggling techniques. The operational impact extends beyond simple request parsing issues, as this vulnerability can be exploited to bypass security mechanisms, access restricted resources, and potentially execute unauthorized operations. When combined with reverse proxy configurations, the vulnerability becomes particularly dangerous because the proxy may process requests differently than Tomcat, creating discrepancies that attackers can exploit. Organizations using these vulnerable Tomcat versions face significant risk when deployed in environments where reverse proxies are present, as the attack surface expands to include all proxy-related configurations. The vulnerability represents a fundamental breakdown in HTTP protocol compliance and demonstrates how seemingly minor parsing errors can create substantial security implications. The fix requires proper validation of transfer-encoding headers, ensuring that when chunked encoding is present, it must be the final encoding in the sequence, and that the server properly handles HTTP version declarations when processing transfer encoding headers. This vulnerability highlights the critical importance of adhering to HTTP specifications and maintaining proper protocol compliance in web application servers, particularly those handling requests through reverse proxy configurations. Organizations should immediately upgrade to patched versions of Tomcat, review their reverse proxy configurations, and implement monitoring for anomalous request patterns that might indicate exploitation attempts. The vulnerability also underscores the need for comprehensive testing of web application security, including validation of HTTP protocol handling and proper request parsing under various client configurations and proxy scenarios.

Reservation

05/17/2021

Disclosure

07/12/2021

Moderation

accepted

Entry

15

Relate

show

CPE

ready

EPSS

0.01865

KEV

no

Activities

very low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!