Skip to main content

HAProxy CVE-2026-110353

| EUVDEUVD-2026-108001 HIGH
Unchecked Return Value (CWE-252)
2026-10-22 mitre GHSA-p9cc-qc4f-7x35
7.5
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Open many HTTP/2 connections to frontend
  2. Exploit
    Send truncated HTTP/2 PING frames
  3. Execution
    Tasklet re-woken on unconsumed data
  4. Impact
    Worker thread CPU spins to exhaustion

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Return value checking
Exploitation Conditions

Exploitation requires that HAProxy be configured with an HTTP/2 frontend (an 'h2' ALPN/listener), since the flaw lives in the H2 multiplexer's PING-frame handler (h2c_handle_ping in src/mux_h2.c); deployments serving only HTTP/1.x are not reachable via this path. No authentication, user interaction, or special privileges are needed against an H2-enabled endpoint, and default configurations that accept HTTP/2 are vulnerable. Limiting factors: the attacker must sustain many concurrent connections to keep CPU elevated because each affected connection is eventually torn down by 'timeout http-request', so connection-rate limiting, per-source connection caps, and short request timeouts materially reduce impact.

Impact

This is a genuine but bounded operational risk - a reliability/availability threat, not a compromise vector. 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 internally consistent with the description: a remote, unauthenticated attacker can trigger worker-thread CPU exhaustion over the network with low complexity and no user interaction, and the impact is confined to availability (C:N/I:N). No EPSS score, KEV entry, or POC was provided in the input, so exploitation status is 'no public exploit identified at time of analysis' - however, the root cause (a missing short-read check in h2c_handle_ping) is simple and fully described in the public patch commit, lowering the barrier to independent weaponization. The HIGH availability rating should be read in context: this is a CPU-spin/degradation DoS throttled by 'timeout http-request', not a hard crash or memory corruption, and sustaining impact requires many concurrent connections, which rate-limiting or connection caps can blunt. Net: real priority for internet-facing HAProxy with HTTP/2 enabled due to the product's ubiquity and the trivial trigger, but it is a resource-exhaustion issue rather than a code-execution or data-exposure threat, so it ranks below confidentiality/integrity flaws of similar CVSS.

Exploit ScenarioDerived

An attacker opens numerous HTTP/2 connections to an internet-facing HAProxy frontend and on each sends a deliberately truncated HTTP/2 PING frame. Because h2c_handle_ping never detects the short read, the pending data is never consumed and the H2 multiplexer tasklet is repeatedly rescheduled without progress, spinning the worker thread's CPU until 'timeout http-request' closes each connection; by churning many such connections the attacker sustains high CPU usage and degrades throughput. No public POC was provided, but the one-line root cause is documented in the patch commit.

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

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

Alert me

AnalysisAIv1 – Oct 22, 2026

A truncated HTTP/2 PING frame sent to an HAProxy frontend that accepts HTTP/2 causes the H2 multiplexer to spin in a busy loop, driving worker-thread CPU to saturation and degrading or denying service to legitimate traffic (CVSS 7.5, availability-only). Only deployments with an HTTP/2-enabled listener (h2 in the bind line / ALPN negotiation) are reachable; HTTP/1.x-only setups are unaffected, and no authentication or user interaction is required against an H2 endpoint. Sustained impact depends on the attacker holding many concurrent connections open, since each connection is eventually cleared by 'timeout http-request'; no public exploit code was identified at the time of analysis and there is no KEV confirmation of active exploitation.

RemediationAI

Upgrade to HAProxy 3.4.6 or later, and apply the corresponding fixed build for HAProxy Enterprise Edition and the HAProxy Kubernetes Ingress Controller (including the Enterprise variant), all of which share the vulnerable multiplexer; the upstream patch is the commit at https://git.haproxy.org/?p=haproxy.git;a=commit;h=cec63e95f62a7412484f1134f5aa227e5b7e1466 and should be referenced when confirming which Enterprise/KIC release first carries it. If upgrading cannot be done immediately, the most direct mitigation is to stop exposing HTTP/2: remove 'h2' from the ALPN list in each bind directive (or otherwise force HTTP/1.x), which fully closes the vector at the cost of losing HTTP/2 multiplexing and its performance benefits for browsers and gRPC clients. Because each malicious connection is torn down by 'timeout http-request', lowering that timeout (for example to a few seconds) bounds how long any single connection can spin a worker thread, though very aggressive values risk cutting off legitimately slow requests and long-polling workloads. Complement this with connection-rate limiting and per-source connection caps - the stick-table 'conn_cur'/'conn_rate' trackers with http-request deny rules - so an attacker cannot hold the many concurrent connections the attack requires; tune these thresholds during a baseline period to avoid throttling NATed corporate users or health checkers. Frontends that terminate HTTP/2 at an upstream load balancer and speak HTTP/1.x to HAProxy are not reachable through this code path.

Affected VersionsENISA

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

Affected Packages

euvd haproxy fix: 3.2.26, 3.3.17, 3.4.6, 3.5-dev9
euvd haproxy_enterprise_edition fix: 3.2r1-378.1259, 3.3r1-377.1005
euvd 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 flaw is an unchecked-return-value error (CWE-252) in the HTTP/2 protocol multiplexer. HAProxy's HTTP/2 implementation in src/mux_h2.c parses incoming frames; h2c_handle_ping is the sole frame handler that does not validate whether a complete frame was actually received before proceeding. When a PING frame arrives truncated, the parser cannot complete processing, so the buffered bytes are never consumed from the channel. The H2 multiplexer tasklet is then re-woken because data remains pending, but each wakeup makes no forward progress, producing a tight CPU-bound loop on the worker thread. The condition only terminates when the frontend's 'timeout http-request' fires and closes the connection, so the attack's cost to the adversary is measured in concurrent connection count rather than in payload volume - many simultaneous truncated-PING connections keep multiple worker threads pinned. The affected scope spans HAProxy itself plus the downstream HAProxy Enterprise Edition and the HAProxy Kubernetes Ingress Controller (including its Enterprise variant), all of which embed the same multiplexer.

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 trigger via a crafted H2 PING frame with no interaction (AV:N/AC:L/PR:N/UI:N); availability-only CPU exhaustion gives A:H with C:N/I:N and unchanged scope.

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:53 cve.org
HIGH 7.5

DescriptionCVE.org

HAProxy 3.2 before 3.4.6 allows a remote unauthenticated attacker to cause a denial of service (worker-thread CPU exhaustion) via a truncated HTTP/2 PING frame. h2c_handle_ping in src/mux_h2.c does not check for a short read, unlike the other H2 frame handlers. Because the incomplete frame cannot be processed, its data is never consumed, and the H2 multiplexer tasklet is repeatedly woken by that pending data without making progress. The CPU spins until timeout http-request closes the connection, and an attacker opening many such connections can sustain high CPU usage.

Executive ViewAI

Why It Matters

HAProxy deployments with HTTP/2-enabled frontends are susceptible to a denial-of-service condition that can saturate CPU resources and disrupt service availability for legitimate users. Organizations using HAProxy to manage customer-facing or internal traffic may face operational outages and degraded performance, particularly if the load balancer supports critical applications. Given the absence of a vendor patch, leadership should prioritize interim mitigations to protect service continuity and maintain SLA commitments.

Business Impact: High
Compensating Controls

Disable HTTP/2 on affected frontends or restrict to trusted networks; enforce connection limits and rate limiting; deploy WAF rules to block malformed PING frames; reduce 'timeout http-request' to clear stalled connections; implement CPU monitoring and alerting.

Threat Intelligence Overview

EPSS Score
0.7%
Top 48% exploitable
Prevalence
Ubiquitous
HAProxy is among the most widely deployed load balancers/reverse proxies
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.7%
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