Skip to main content

HAProxy EUVDEUVD-2026-108000

| CVE-2026-110354 HIGH
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-10-22 mitre GHSA-vqpp-w68q-p3f5
7.5
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach HAProxy HTTP/1.1 frontend
  2. Delivery
    Send crafted chunked request
  3. Exploit
    Parser loops re-processing same bytes
  4. Execution
    Worker thread pinned at 100% CPU
  5. Persist
    Repeat to exhaust all threads
  6. Impact
    Proxy 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.8% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

HAProxy Enterprise Edition 3.0r1 <3.0r1-362.1441
Kubernetes Ingress Controller Enterprise 3.2.0 <3.2.17-ee1
Kubernetes Ingress Controller Enterprise 3.0 <3.0.16-ee17
HAProxy Enterprise Edition 3.2r1 <3.2r1-378.1259
haproxy 3.3.0 <3.3.17
HAProxy Enterprise Edition 3.3r1 <3.3r1-377.1005
Kubernetes Ingress Controller Enterprise 1.11 <1.11.14-ee11
HAProxy Kubernetes Ingress Controller 3.2.0 <3.2.17
haproxy 3.2.0 <3.2.26
haproxy 3.0.0 <3.0.30
haproxy 3.5-dev <3.5-dev9
haproxy 3.4.0 <3.4.6

Affected Packages

euvd haproxy fix: 3.0.30, 3.2.26, 3.3.17, 3.4.6, 3.5-dev9
euvd haproxy_enterprise_edition fix: 3.0r1-362.1441, 3.2r1-378.1259, 3.3r1-377.1005
euvd haproxy_kubernetes_ingress_controller fix: 3.2.17
euvd kubernetes_ingress_controller_enterprise fix: 1.11.14-ee11, 3.0.16-ee17, 3.2.17-ee1

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

Vendor (mitre) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Oct 22, 2026 - 04:31 EUVD
CVE Published
Oct 22, 2026 - 02:46 cve.org
HIGH 7.5

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.8%
Top 45% exploitable
Prevalence
High
HAProxy is a widely deployed enterprise/cloud load balancer and ingress controller
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.8%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2016-5360 HIGH
7.5 Jun 30

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

CVE-2021-40346 HIGH POC
7.5 Sep 08

An integer overflow exists in HAProxy 2.0 through 2.5 in htx_add_header that can be exploited to perform an HTTP request

CVE-2019-18277 HIGH POC
7.5 Oct 23

A flaw was found in HAProxy before 2.0.6. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no

CVE-2019-14243 HIGH POC
7.5 Jul 23

headerv2.go in mastercactapus proxyprotocol before 0.0.2, as used in the mastercactapus caddy-proxyprotocol plugin throu

CVE-2019-14241 HIGH POC
7.5 Jul 23

HAProxy through 2.0.2 allows attackers to cause a denial of service (ha_panic) via vectors related to htx_manage_client_

CVE-2023-40225 HIGH POC
7.2 Aug 10

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

CVE-2019-8953 MEDIUM POC
6.1 Feb 20

The HAProxy package before 0.59_16 for pfSense has XSS via the desc (aka Description) or table_actionsaclN parameter, re

CVE-2026-109575 CRITICAL
9.8 Oct 12

Unauthenticated remote attackers can gain full administrative control of the HAProxy Data Plane API - and through it the

CVE-2019-19330 CRITICAL
9.8 Nov 27

The HTTP/2 implementation in HAProxy before 2.0.10 mishandles headers, as demonstrated by carriage return (CR, ASCII 0xd

CVE-2023-25725 CRITICAL
9.1 Feb 14

HAProxy before 2.7.3 may allow a bypass of access control because HTTP/1 headers are inadvertently lost in some situatio

CVE-2026-55203 CRITICAL
9.0 Jun 18

FastCGI framing desynchronization in HAProxy through 3.4.0 stems from a 16-bit integer overflow in the fcgi_conn demux r

CVE-2014-6269 MEDIUM POC
5.0 Sep 30

Multiple integer overflows in the http_request_forward_body function in proto_http.c in HAProxy 1.5-dev23 before 1.5.4 a

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy