haproxy: HTTP request smuggling issue with transfer-encoding header containing an obfuscated "chunked" value
Published Oct 23, 2019
7.5
HIGHCVSS 3.1
EPSS 10.07%
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).
Affected products
No data.
No data.
Red Hat Enterprise Linux 8
haproxy-0:1.8.23-3.el8
Fixed · RHSA-2020:1725
Red Hat OpenShift Container Platform 3.11
haproxy-0:1.8.23-3.el7
Fixed · RHSA-2020:1287
Red Hat OpenShift Container Platform 4.4
haproxy-0:2.0.13-3.el7
Fixed · RHSA-2020:1936
Red Hat Software Collections for Red Hat Enterprise Linux 7
rh-haproxy18-haproxy-0:1.8.24-2.el7
Fixed · RHSA-2020:2265
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUS
rh-haproxy18-haproxy-0:1.8.24-2.el7
Fixed · RHSA-2020:2265
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUS
rh-haproxy18-haproxy-0:1.8.24-2.el7
Fixed · RHSA-2020:2265
Red Hat Enterprise Linux 6
haproxy
Not affected
Red Hat Enterprise Linux 7
haproxy
Not affected
Red Hat OpenShift Container Platform 3.10
haproxy
Will not fix
Red Hat OpenShift Container Platform 3.9
haproxy
Will not fix
| Product | Package | State | Advisory |
|---|---|---|---|
| Red Hat Enterprise Linux 8 | haproxy-0:1.8.23-3.el8 | Fixed | RHSA-2020:1725 |
| Red Hat OpenShift Container Platform 3.11 | haproxy-0:1.8.23-3.el7 | Fixed | RHSA-2020:1287 |
| Red Hat OpenShift Container Platform 4.4 | haproxy-0:2.0.13-3.el7 | Fixed | RHSA-2020:1936 |
| Red Hat Software Collections for Red Hat Enterprise Linux 7 | rh-haproxy18-haproxy-0:1.8.24-2.el7 | Fixed | RHSA-2020:2265 |
| Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUS | rh-haproxy18-haproxy-0:1.8.24-2.el7 | Fixed | RHSA-2020:2265 |
| Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUS | rh-haproxy18-haproxy-0:1.8.24-2.el7 | Fixed | RHSA-2020:2265 |
| Red Hat Enterprise Linux 6 | haproxy | Not affected | n/a |
| Red Hat Enterprise Linux 7 | haproxy | Not affected | n/a |
| Red Hat OpenShift Container Platform 3.10 | haproxy | Will not fix | n/a |
| Red Hat OpenShift Container Platform 3.9 | haproxy | Will not fix | n/a |
No package ranges for this CVE.
Remediation
Red Hat 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.
Red Hat mitigation
- Reconsider the use of `http-reuse always` if 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
References (11)
- http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00016.html vendor-advisoryx_refsource_SUSE
- http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00019.html vendor-advisoryx_refsource_SUSE
- https://access.redhat.com/security/cve/CVE-2019-18277 Vendor Advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=1759697 Issue Tracking
- https://git.haproxy.org/?p=haproxy-2.0.git%3Ba=commit%3Bh=196a7df44d8129d1adc795da020b722614d6a581 x_refsource_MISC
- https://lists.debian.org/debian-lts-announce/2022/05/msg00045.html mailing-listx_refsource_MLIST
- https://nathandavison.com/blog/haproxy-http-request-smuggling x_refsource_MISCExploitThird Party Advisory
- https://nvd.nist.gov/vuln/detail/CVE-2019-18277
- https://usn.ubuntu.com/4174-1/ vendor-advisoryx_refsource_UBUNTU
- https://www.cve.org/CVERecord?id=CVE-2019-18277
- https://www.mail-archive.com/haproxy%40formilux.org/msg34926.html x_refsource_MISC
| Link | Providers | Tags |
|---|---|---|
| http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00016.html | vendor-advisoryx_refsource_SUSE | |
| http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00019.html | vendor-advisoryx_refsource_SUSE | |
| https://access.redhat.com/security/cve/CVE-2019-18277 | Vendor Advisory | |
| https://bugzilla.redhat.com/show_bug.cgi?id=1759697 | Issue Tracking | |
| https://git.haproxy.org/?p=haproxy-2.0.git%3Ba=commit%3Bh=196a7df44d8129d1adc795da020b722614d6a581 | x_refsource_MISC | |
| https://lists.debian.org/debian-lts-announce/2022/05/msg00045.html | mailing-listx_refsource_MLIST | |
| https://nathandavison.com/blog/haproxy-http-request-smuggling | x_refsource_MISCExploitThird Party Advisory | |
| https://nvd.nist.gov/vuln/detail/CVE-2019-18277 | ||
| https://usn.ubuntu.com/4174-1/ | vendor-advisoryx_refsource_UBUNTU | |
| https://www.cve.org/CVERecord?id=CVE-2019-18277 | ||
| https://www.mail-archive.com/haproxy%40formilux.org/msg34926.html | x_refsource_MISC |
Change history (0)
No recorded changes yet.