CVE-2019-18277
haproxy: HTTP request smuggling issue with transfer-encoding header containing an obfuscated "chunked" value
Severity
ModerateRed Hat Product Security
CVSS 3.0
Review impact separately from score.
Published · September 13, 2019
Updated · November 2, 2026
Description
A flaw was found in HAProxy before 2.0.6. In legacy mode, messages featuring a transfer-encoding header missing the "chunked" value were not being correctly rejected. The impact was limited but if combined with the "http-reuse always" setting, it could be used to help construct an HTTP request smuggling attack against a vulnerable component employing a lenient parser that would ignore the content-length header as soon as it saw a transfer-encoding one (even if not entirely valid according to the specification).
Statement
To exploit this vulnerability a vulnerable backend server is required. In particular the server should incorrectly parse the Transfer-Encoding HTTP header.
This issue did not affect the versions of haproxy as shipped with Red Hat Enterprise Linux 6, and 7 as they did not include support for http-reuse option.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
- Reconsider the use of
http-reuse alwaysif possible - Disable HTTP Keep-Alive (also called HTTP Connection reuse) in the backend
- Fix the backend server to correctly parse Transfer-Encoding/Content-Length headers
CVSS / CWE
CVSS 3.0 · 6.5CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:L
CWE-444 · Inconsistent Interpretation of HTTP Requests