Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach HAProxy HTTP/1.1 frontend
-
DeliverySend crafted chunked request
-
ExploitParser loops re-processing same bytes
-
ExecutionWorker thread pinned at 100% CPU
-
PersistRepeat to exhaust all threads
-
ImpactProxy unresponsive until restart
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special conditions - remote unauthenticated exploitation against default configurations of HAProxy 3 (before 3.4.6) that process HTTP/1.1 traffic through the H1 multiplexer; the only prerequisite is that the frontend accepts and parses HTTP/1.1 chunked requests, which is standard for HTTP load-balancing deployments. The specific trigger is a crafted HTTP/1.1 chunked request that causes the parser to re-process the same bytes without progress. Limiting factors: the instance must be running an affected 3.x version below 3.4.6 and be reachable by the attacker; impact is confined to availability (no data compromise), and recovery requires a process restart. Deployments that terminate only HTTP/2 or that are not exposed to untrusted clients are at reduced practical risk. |
| Impact | This is a genuine availability-impacting vulnerability worth prioritizing, though not an emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) is fully consistent with the description: a remote, unauthenticated attacker over the network, with low complexity and no user interaction, triggers an infinite-loop condition (CWE-835) by sending a single malformed HTTP/1.1 chunked request. The impact is purely to availability (C:N/I:N/A:H) - no data exposure or integrity loss - but it is severe because a single affected worker thread pegs at 100% CPU indefinitely, surviving both timeout expiry and client disconnect, and repeated requests can exhaust all worker threads until the process is restarted. No EPSS score, no CISA KEV listing, and no public POC were provided in the intelligence set, so there is no evidence of active exploitation or weaponization at this time. The gap between a high CVSS availability score and the absence of exploitation signals suggests the real-world risk today is 'high-severity, not-yet-exploited': the bug is trivially reachable against any default HTTP-processing HAProxy 3 instance, so the barrier to exploitation is low and POC/mass-exploitation could emerge quickly once the patch commit is analyzed. Treat as a prioritized patch for internet-facing load balancers. No signals conflict; the primary missing data is EPSS/KEV/POC status, whose absence is not evidence of safety for a low-complexity, unauthenticated DoS. |
| Exploit ScenarioDerived | A remote unauthenticated attacker sends a specially crafted HTTP/1.1 chunked request to an internet-facing HAProxy 3 frontend. The H1 multiplexer drains and closes the stream but the parser re-processes the same bytes without progressing, pinning a worker thread at 100% CPU that does not recover after timeouts or client disconnect; the attacker repeats the request across connections to consume every worker thread and render the proxy unresponsive until restarted. No public exploit code was identified in the provided intelligence. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
HAProxy 3.x releases before 3.4.6 can be driven into persistent denial of service by remote unauthenticated attackers sending a single crafted HTTP/1.1 chunked request: the H1 multiplexer's chunk parser re-processes the same bytes without advancing, pinning one worker thread at 100% CPU even after timeouts fire and the client disconnects. Repeating the request exhausts the worker pool until the process is manually restarted, so confidentiality and integrity are unaffected but availability is fully lost. Attack surface is standard HTTP/1.1 frontend traffic (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, CWE-835); no public exploit code or CISA KEV entry is associated with this CVE at time of analysis, and the upstream fix commit is published in the HAProxy git repository.
RemediationAI
Upgrade to HAProxy 3.4.6 or later - the version boundary stated in the advisory - and, for the HAProxy Technologies lines, adopt the corresponding Enterprise Edition and Kubernetes Ingress Controller builds that incorporate upstream commit 077906da140a35873bf451d7e9f67646c9f37c81 (https://git.haproxy.org/?p=haproxy.git;a=commit;h=077906da140a35873bf451d7e9f67646c9f37c81). No vendor-released patch is identified for branches that are no longer maintained, so those instances require migration to a supported release. Where immediate upgrade is not possible, compensating controls are: front the affected HAProxy with an edge proxy or WAF that rejects or re-frames malformed chunked Transfer-Encoding bodies before they reach HAProxy (effective but adds latency and a second parsing layer that must itself be patched); restrict the HTTP/1.1 frontends to trusted source ranges or terminate only HTTP/2 toward HAProxy for untrusted clients (reduces exposure but breaks legitimate HTTP/1.1 and chunked clients); and apply per-source connection and request rate limits with maxconn/stick-table rules plus process supervision that restarts HAProxy on sustained per-thread CPU saturation (contains but does not prevent the outage, and restarts drop in-flight connections). Regardless of mitigation, monitor worker-thread CPU for threads pinned near 100% after their clients have gone as the primary detection signal for exploitation attempts.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 4 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-835 (Loop with Unreachable Exit Condition, i.e. an infinite loop) in HAProxy's HTTP/1.1 multiplexer - the component that parses chunked Transfer-Encoding framing on the request path. When handling a malformed or adversarial chunked body, the parser fails to consume input between iterations: it re-reads the same buffer bytes indefinitely instead of making forward progress or raising a parse error. Because the loop makes no progress and does not yield, the surrounding HAProxy logic that would normally drain the request, enforce timeouts, or tear down the stream after client disconnect never gets a chance to run; the affected worker thread simply spins. HAProxy is a single-threaded-per-worker, event-driven proxy, so each stuck thread represents a permanently removed unit of capacity - with a small number of worker threads (typical for edge deployments), a handful of requests removes all service capacity and only a process restart recovers it. The vulnerability is confined to HTTP/1.1 processing through the H1 multiplexer; the supplied CPE data is wildcarded across versions, so exact version scoping (HAProxy 3 before 3.4.6, plus the Enterprise Edition and Kubernetes Ingress Controller product lines built on the same code) derives from the advisory text rather than from CPE version fields.
Know when Haproxy gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Remote unauthenticated single chunked request (AV:N/AC:L/PR:N/UI:N) with no user interaction; impact is sustained CPU-exhaustion DoS only, so C:N/I:N/A:H and scope unchanged.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
2DescriptionCVE.org
HAProxy 3 before 3.4.6 allows a remote unauthenticated attacker to cause a denial of service (persistent worker-thread CPU exhaustion) via an HTTP/1.1 chunked request. Although the H1 multiplexer drains the request before closing the stream, the parser repeatedly re-processes the same bytes without making progress. The affected thread stays busy at 100% CPU after timeouts expire and after the client disconnects, and repeated requests can consume all worker threads until the process is restarted.
Executive ViewAI
HAProxy releases in the 3.x line prior to 3.4.6 can be pushed into a persistent outage by a single malformed HTTP/1.1 chunked request, and repeating that request will drain the worker pool and take the entire load-balancing tier offline until an administrator manually restarts the process. Because the request requires no credentials or user interaction and arrives over ordinary frontend HTTP traffic, any internet-facing service behind these proxies - customer portals, APIs, partner integrations - loses availability at the same moment, making this an enterprise-wide single point of failure rather than an isolated application issue. There is no public exploit code and no confirmed active exploitation at time of analysis, so leadership attention should focus on resilience and upgrade planning rather than emergency incident response.
No vendor-released patch identified at time of analysis, though an upstream fix commit is published in the HAProxy git repository and 3.4.6 is referenced as the first fixed release. Interim mitigations: per-source-IP rate limiting on HTTP/1.1 frontends; reject or normalize malformed Transfer-Encoding/chunked framing at a CDN, WAF, or reverse proxy ahead of HAProxy; enable automatic health-check-based worker drain and process restart so a pinned thread is recycled without manual action; run redundant HAProxy instances or autoscaling groups so a single saturated worker pool does not remove all capacity; alert on per-worker CPU at 100% and on stalled worker queues; and reduce exposure of any directly internet-reachable HTTP/1.1 listeners pending upgrade.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
HAproxy 1.6.x before 1.6.6, when a deny comes from a reqdeny rule, allows remote attackers to cause a denial of service
An integer overflow exists in HAProxy 2.0 through 2.5 in htx_add_header that can be exploited to perform an HTTP request
A flaw was found in HAProxy before 2.0.6. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no
headerv2.go in mastercactapus proxyprotocol before 0.0.2, as used in the mastercactapus caddy-proxyprotocol plugin throu
HAProxy through 2.0.2 allows attackers to cause a denial of service (ha_panic) via vectors related to htx_manage_client_
HAProxy through 2.0.32, 2.1.x and 2.2.x through 2.2.30, 2.3.x and 2.4.x through 2.4.23, 2.5.x and 2.6.x before 2.6.15, 2
The HAProxy package before 0.59_16 for pfSense has XSS via the desc (aka Description) or table_actionsaclN parameter, re
Unauthenticated remote attackers can gain full administrative control of the HAProxy Data Plane API - and through it the
The HTTP/2 implementation in HAProxy before 2.0.10 mishandles headers, as demonstrated by carriage return (CR, ASCII 0xd
HAProxy before 2.7.3 may allow a bypass of access control because HTTP/1 headers are inadvertently lost in some situatio
FastCGI framing desynchronization in HAProxy through 3.4.0 stems from a 16-bit integer overflow in the fcgi_conn demux r
Multiple integer overflows in the http_request_forward_body function in proto_http.c in HAProxy 1.5-dev23 before 1.5.4 a
EUVD-2026-108000
GHSA-vqpp-w68q-p3f5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB