CVE-2024-49214
Medium · 5.3CVSS
5.3
EPSS
0.5%
Published
Oct 14, 2024
CISA due date
—
Cloudanix analysis
A flaw in the HAProxy load balancer lets attackers pretend to connect from an approved address and reach services they should not be able to reach.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Network Service
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
QUIC implementation allows 0-RTT session establishment using a spoofed source IP address, bypassing configured IP allow and block lists in affected HAProxy versions.
Why it matters to the business
Attackers can reach services or APIs that should be restricted by IP address, increasing risk of unauthorized access or data exposure until systems are updated.
How an attack unfolds
An attacker identifies a HAProxy instance using QUIC, crafts a 0-RTT QUIC packet with a spoofed source IP that matches an allowed entry, and completes the handshake to establish a session that evades IP filtering rules.
How to fix it
Upgrade HAProxy to a fixed version containing commit f627b9272bd8ffca6f2f898bfafc6bf0b84b7d46 (3.1-dev7, 3.0.5, or 2.9.11 or later) and restart the service. If immediate upgrade is not possible, disable QUIC or add compensating network-layer IP filtering.
How to confirm the fix worked
Verify running version is at or above the fixed commit, then test that spoofed 0-RTT QUIC connections are rejected by the IP allow/block list and confirm normal 0-RTT behavior for legitimate IPs.
Typical attack path
- Scan for exposed HAProxy endpoints supporting QUIC
- Select a source IP address permitted by the target's allow list
- Craft and transmit a spoofed 0-RTT QUIC initial packet
- Complete session establishment and issue subsequent requests
- Access resources normally blocked by IP-based rules
How to detect it
Inspect HAProxy logs for QUIC 0-RTT handshake entries and cross-reference source IP addresses against expected client locations; look for successful connections from IPs that should have been blocked.
What your security team should do
- Prioritize upgrade of all HAProxy instances using QUIC to the listed fixed versions
- Review and tighten IP allow lists to reduce reliance on this control
- Monitor for post-upgrade validation and schedule regression testing of QUIC traffic
The record
QUIC in HAProxy 3.1.x before 3.1-dev7, 3.0.x before 3.0.5, and 2.9.x before 2.9.11 allows opening a 0-RTT session with a spoofed IP address. This can bypass the IP allow/block list functionality.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Bitnami | haproxy | 0 | 2.9.11 |
| Bitnami | haproxy | 3.0.0 | 3.0.5 |
| Chainguard | haproxy-2.4-doc | 0 | 2.4.27-r45 |
| Chainguard | haproxy-2.4-iamguarded-compat | 0 | 2.4.27-r45 |
| Chainguard | haproxy-2.4-nocaps | 0 | 2.4.27-r46 |
| Chainguard | haproxy-2.4-oci-entrypoint | 0 | 2.4.27-r46 |
| Chainguard | haproxy-2.6-doc | 0 | 2.6.20-r45 |
| Chainguard | haproxy-2.6-iamguarded-compat | 0 | 2.6.20-r45 |
| Chainguard | haproxy-2.6-nocaps | 0 | 2.6.20-r46 |
| Chainguard | haproxy-2.6-oci-entrypoint | 0 | 2.6.20-r45 |
| Chainguard | haproxy-2.8 | 0 | 2.8.18-r1 |
| Chainguard | haproxy-2.8-doc | 0 | 2.8.13-r46 |
| Chainguard | haproxy-2.8-iamguarded-compat | 0 | 2.8.13-r45 |
| Chainguard | haproxy-2.8-nocaps | 0 | 2.8.13-r46 |
| Chainguard | haproxy-2.8-oci-entrypoint | 0 | 2.8.13-r45 |
| Chainguard | haproxy-3.0 | 0 | 3.0.5-r0 |
| Chainguard | haproxy-3.0-doc | 0 | 3.0.5-r0 |
| Chainguard | haproxy-3.0-iamguarded-compat | 0 | 3.0.5-r0 |
| Chainguard | haproxy-3.0-nocaps | 0 | 3.0.5-r0 |
| Chainguard | haproxy-3.0-oci-entrypoint | 0 | 3.0.5-r0 |
| Debian:11 | haproxy | 0 | No fix |
| Debian:12 | haproxy | 0 | No fix |
| Debian:13 | haproxy | 0 | 2.9.11-1 |
| Ubuntu:24.04:LTS | haproxy | 0 | No fix |
| Ubuntu:24.10 | haproxy | 0 | No fix |
| Wolfi | haproxy-3.0 | 0 | 3.0.5-r0 |
| Wolfi | haproxy-3.0-doc | 0 | 3.0.5-r0 |
| Wolfi | haproxy-3.0-oci-entrypoint | 0 | 3.0.5-r0 |
| openSUSE:Tumbleweed | haproxy | 0 | 3.0.5+git0.8e879a52e-2.1 |
Related vulnerabilities
- CVE-2025-11230 Inefficient algorithm complexity in mjson in HAProxy allows remote attackers to cause a… Also affects haproxy
- CVE-2024-53008 Inconsistent interpretation of HTTP requests ('HTTP Request/Response Smuggling') issue… Also affects haproxy
- CVE-2024-45506 HAProxy 2.9.x before 2.9.10, 3.0.x before 3.0.4, and 3.1.x through 3.1-dev6 allows a… Also affects haproxy
- CVE-2023-0836 An information leak vulnerability was discovered in HAProxy 2.1, 2.2 before 2.2.27, 2.3… Also affects haproxy
- CVE-2023-0056 An uncontrolled resource consumption vulnerability was discovered in HAProxy which could… Also affects haproxy-2.4-doc
- CVE-2016-5360 HAproxy 1.6.x before 1.6.6, when a deny comes from a reqdeny rule, allows remote… Also affects haproxy
- CVE-2026-26081 HAProxy Community Edition 3.0 through 3.3 before 3.3.3 lacks a length check for the… Also affects haproxy
- CVE-2026-55204 HAProxy through 3.4.0, fixed in commit 9a6d1fe, contains a null pointer dereference… Also affects haproxy