Gazelle HTTP Request Smuggling Vulnerability Due to Improper Header Precedence

Vulnerability

A vulnerability allowing HTTP request smuggling has been identified in Gazelle versions through 0.49 for Perl. This issue arises from the application incorrectly prioritizing the 'Content-Length' header over 'Transfer-Encoding: chunked' when both are present in an HTTP request. According to RFC 7230 section 3.3.3, 'Transfer-Encoding' should take precedence. An attacker could exploit this vulnerability to send malicious HTTP requests through a front-end reverse proxy, potentially bypassing security measures or manipulating request handling.

Impact

Exploitation of this vulnerability could lead to HTTP request smuggling, allowing an attacker to send hidden requests that are not properly processed or blocked by security measures. This could disrupt normal application behavior, cause response splitting attacks, or manipulate caching mechanisms, depending on the specific context of the vulnerability.

Reproduction

To reproduce this vulnerability, send an HTTP request to a server running Gazelle through a reverse proxy. Include both 'Content-Length' and 'Transfer-Encoding: chunked' headers in the request. The server will incorrectly process the headers, prioritizing 'Content-Length' and allowing the smuggling of additional requests through the proxy.

Remediation

Users are advised to upgrade to Gazelle version 0.49 or later, or to apply the available patch.

Added: May 6, 2026, 7:14 PM
Updated: May 6, 2026, 7:14 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
1.9
exploitability
7.4
remediation
0.0
relevance
7.6
threat
4.8
urgency
2.9
incentive
4.2

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.