CVE-2020-11100
📋 TL;DR
This vulnerability allows remote attackers to write arbitrary bytes to heap memory via a crafted HTTP/2 request to HAProxy's HPACK decoder. Successful exploitation could lead to remote code execution, denial of service, or information disclosure. Affects HAProxy 1.8 through 2.x before version 2.1.4.
💻 Affected Systems
- HAProxy
📦 What is this software?
Fedora by Fedoraproject
Fedora by Fedoraproject
Haproxy by Haproxy
Leap by Opensuse
Ubuntu Linux by Canonical
Ubuntu Linux by Canonical
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution with the privileges of the HAProxy process, potentially leading to complete system compromise.
Likely Case
Denial of service through process crashes or memory corruption, disrupting load balancing services.
If Mitigated
Limited impact if proper network segmentation and least privilege principles are applied.
🎯 Exploit Status
Exploit requires crafting specific HTTP/2 requests to trigger the heap corruption. Public proof-of-concept code exists.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.1.4 and later
Vendor Advisory: http://www.haproxy.org
Restart Required: Yes
Instructions:
1. Download HAProxy 2.1.4 or later from haproxy.org. 2. Compile and install the new version. 3. Replace the existing HAProxy binary. 4. Restart HAProxy service.
🔧 Temporary Workarounds
Disable HTTP/2
allDisable HTTP/2 support in HAProxy configuration to prevent exploitation.
In HAProxy config, ensure no 'alpn h2' or similar HTTP/2 directives are present.
🧯 If You Can't Patch
- Implement network segmentation to restrict access to HAProxy instances.
- Deploy web application firewall (WAF) rules to detect and block malicious HTTP/2 traffic.
🔍 How to Verify
Check if Vulnerable:
Check HAProxy version with 'haproxy -v' and verify it's below 2.1.4 and at least 1.8.
Check Version:
haproxy -v
Verify Fix Applied:
After patching, run 'haproxy -v' and confirm version is 2.1.4 or higher.
📡 Detection & Monitoring
Log Indicators:
- Unexpected HAProxy process crashes
- Memory corruption errors in system logs
Network Indicators:
- Malformed HTTP/2 requests with unusual header patterns
SIEM Query:
source="haproxy.log" AND ("segmentation fault" OR "memory corruption" OR "invalid write")
🔗 References
- http://lists.opensuse.org/opensuse-security-announce/2020-04/msg00002.html
- http://packetstormsecurity.com/files/157323/haproxy-hpack-tbl.c-Out-Of-Bounds-Write.html
- http://www.haproxy.org
- https://bugzilla.redhat.com/show_bug.cgi?id=1819111
- https://bugzilla.suse.com/show_bug.cgi?id=1168023
- https://git.haproxy.org/?p=haproxy.git%3Ba=commit%3Bh=5dfc5d5cd0d2128d77253ead3acf03a421ab5b88
- https://lists.debian.org/debian-security-announce/2020/msg00052.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/264C7UL3X7L7QE74ZJ557IOUFS3J4QQC/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MNW5RZLIX7LOXRLV7WMHX22CI43XSXKW/
- https://security.gentoo.org/glsa/202012-22
- https://usn.ubuntu.com/4321-1/
- https://www.debian.org/security/2020/dsa-4649
- https://www.haproxy.org/download/2.1/src/CHANGELOG
- https://www.mail-archive.com/haproxy%40formilux.org/msg36876.html
- http://lists.opensuse.org/opensuse-security-announce/2020-04/msg00002.html
- http://packetstormsecurity.com/files/157323/haproxy-hpack-tbl.c-Out-Of-Bounds-Write.html
- http://www.haproxy.org
- https://bugzilla.redhat.com/show_bug.cgi?id=1819111
- https://bugzilla.suse.com/show_bug.cgi?id=1168023
- https://git.haproxy.org/?p=haproxy.git%3Ba=commit%3Bh=5dfc5d5cd0d2128d77253ead3acf03a421ab5b88
- https://lists.debian.org/debian-security-announce/2020/msg00052.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/264C7UL3X7L7QE74ZJ557IOUFS3J4QQC/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MNW5RZLIX7LOXRLV7WMHX22CI43XSXKW/
- https://security.gentoo.org/glsa/202012-22
- https://usn.ubuntu.com/4321-1/
- https://www.debian.org/security/2020/dsa-4649
- https://www.haproxy.org/download/2.1/src/CHANGELOG
- https://www.mail-archive.com/haproxy%40formilux.org/msg36876.html