Skip to main content

h2o CVE-2026-55213

| EUVDEUVD-2026-43036 HIGH
Memory Allocation with Excessive Size Value (CWE-789)
2026-07-10 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach h2o HTTP/3 listener over QUIC
  2. Delivery
    Open QUIC/HTTP-3 connection
  3. Exploit
    Send crafted QPACK instruction
  4. Execution
    Trigger ~800 KB alloca in qpack.c
  5. Persist
    Overflow musl thread stack into guard page
  6. Impact
    Worker segfaults, denial of service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
Exploitation Conditions

Exploitation requires that the target h2o server (1) has HTTP/3 enabled and reachable (QUIC over UDP, typically port 443) and (2) is built against musl libc, whose small default pthread stack (well under 800 KB) is what the alloca overruns - glibc builds with their much larger default stacks are generally not affected. Given the CVSS vector's PR:N/UI:N, no authentication or user interaction is needed once those conditions hold. The limiting factors are therefore the musl-libc build requirement (e.g., Alpine-based containers) and HTTP/3 being active; a glibc build or an HTTP/2-only deployment is not exploitable via this path.

Impact

The published CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H = 7.5 High) reflects a network-reachable, unauthenticated availability-only impact, which is consistent with the description. However, the real-world exploitability is narrower than the raw score suggests: the crash is triggered only when h2o is (a) built against musl libc and (b) serving HTTP/3 - under glibc the oversized alloca fits in the default stack. This deployment dependency argues for higher attack complexity (my independent assessment uses AC:H). There is no confidentiality or integrity impact - this is a pure crash/DoS, not code execution. No EPSS score, KEV listing, or POC was provided, so there is no evidence of active or automated exploitation; treat this as a patch-soon availability bug for musl-based HTTP/3 deployments rather than a critical emergency. EPSS is missing from the input and cannot be cited.

Exploit ScenarioDerived

An attacker who can reach a musl-libc h2o instance over HTTP/3 opens a QUIC connection and sends a crafted QPACK encoder/decoder instruction whose length drives an ~800 KB alloca in qpack.c. The oversized stack allocation runs past musl's small default thread stack into the guard page, and the worker process crashes with a segmentation fault, dropping in-flight connections. No authentication or user interaction is needed, though no public POC was provided in the source data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 10, 2026

Remote unauthenticated denial of service in the h2o HTTP server (all versions prior to commit edd7a120bfc4af11ac0cbebce2a43cc1f93f9af1) allows an attacker to crash the server by sending a crafted QPACK instruction over HTTP/3. The flaw causes lib/http3/qpack.c to allocate an ~800 KB on-stack buffer via alloca, overflowing the default musl libc pthread stack and segfaulting on the guard page. No public exploit identified at time of analysis, and the issue is not listed in CISA KEV; impact is limited to availability with no data exposure.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - update h2o to a build that includes commit edd7a120bfc4af11ac0cbebce2a43cc1f93f9af1 (see the advisory at https://github.com/h2o/h2o/security/advisories/GHSA-432c-8xmj-frmq and the commit at https://github.com/h2o/h2o/commit/edd7a120bfc4af11ac0cbebce2a43cc1f93f9af1). If you cannot rebuild immediately, the most effective compensating control is to disable HTTP/3/QUIC listeners in the h2o configuration, which fully removes the QPACK attack surface at the cost of losing HTTP/3 performance benefits (clients transparently fall back to HTTP/2 or HTTP/1.1). As an alternative for musl-based deployments, running h2o with a larger pthread stack size or rebuilding against glibc avoids the guard-page crash, but these are stopgaps that do not fix the unbounded allocation itself. Blocking or rate-limiting UDP/443 (QUIC) at the network edge for untrusted sources also reduces exposure while awaiting the rebuild.

Affected VersionsENISA

H2O < edd7a120bfc4af11ac0cbebce2a43cc1f93f9af1

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

h2o is a high-performance HTTP server supporting HTTP/1.x, HTTP/2, and HTTP/3 (QUIC). QPACK is the HTTP/3 header-compression scheme (RFC 9204), the HTTP/3 analogue of HPACK, which uses dynamic-table encoder/decoder instructions exchanged between peers. In lib/http3/qpack.c the size of an on-stack buffer is derived from attacker-influenced QPACK instruction values and allocated with alloca(). This maps to CWE-789 (Memory Allocation with Excessive Size Value): the allocation size is not properly bounded, so a large value (~800 KB) exceeds musl libc's small default per-thread stack size, causing the process to touch the stack guard page and receive SIGSEGV. glibc's larger default stack (typically 8 MB) would generally absorb the same allocation, so the crash is specific to musl-based builds (e.g., Alpine Linux). The single affected CPE is cpe:2.3:a:h2o:h2o.

Know when H2O 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 (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 5.9 MEDIUM

Network-reachable and unauthenticated (AV:N/PR:N/UI:N) but only crashes musl-libc builds with HTTP/3 enabled, a deployment-specific precondition (AC:H); availability-only impact (A:H), no C/I.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

DescriptionCVE.org

h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. Prior to commit edd7a120bfc4af11ac0cbebce2a43cc1f93f9af1, when h2o processes a QPACK instruction sent from the peer over HTTP/3, lib/http3/qpack.c might allocate an on-stack buffer as large as approximately 800 KB by calling alloca, which exceeds the default pthread stack size used by musl libc and causes the h2o server to crash with a segmentation fault while touching the guard page. This issue is fixed in commit edd7a120bfc4af11ac0cbebce2a43cc1f93f9af1.

Executive ViewAI

Why It Matters

h2o HTTP server deployments are vulnerable to a denial of service attack that can crash production servers without requiring authentication; no public exploit has been identified at time of analysis. Organizations running h2o may experience service outages affecting customer availability. With no vendor patch currently available, immediate interim mitigations are necessary to protect service continuity.

Business Impact: High
Compensating Controls

Disable HTTP/3 protocol support if operationally feasible and not required for business use cases. Implement network-level rate limiting and connection throttling for HTTP/3 traffic. Deploy Web Application Firewall (WAF) with rules to detect and block malformed QPACK instructions. Monitor for official security advisory from h2o project maintainers; patch application recommended immediately upon release.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Low
niche high-performance web server, limited enterprise footprint; musl+HTTP/3 subset smaller still
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.3%
Patch available No
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

38
Low Medium High Critical
KEV: 0
EPSS: 0
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.

More in H2O

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2024-10553 CRITICAL POC
9.8 Mar 20

A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra

CVE-2025-6544 CRITICAL POC
9.8 Sep 21

A deserialization vulnerability exists in h2oai/h2o-3 versions <= 3.46.0.8, allowing attackers to read arbitrary system

CVE-2023-6016 CRITICAL POC
9.8 Nov 16

An attacker is able to gain remote code execution on a server hosting the H2O dashboard through it's POJO model import f

CVE-2024-45758 CRITICAL POC
9.1 Sep 06

H2O.ai H2O through 3.46.0.4 allows attackers to arbitrarily set the JDBC URL, leading to deserialization attacks, file r

CVE-2024-8616 HIGH POC
8.2 Mar 20

In h2oai/h2o-3 version 3.46.0, the `/99/Models/{name}/json` endpoint allows for arbitrary file overwrite on the target s

CVE-2023-6569 HIGH POC
8.2 Dec 14

External Control of File Name or Path in h2oai/h2o-3. Rated high severity (CVSS 8.2), this vulnerability is remotely exp

CVE-2024-7765 HIGH POC
7.5 Mar 20

In h2oai/h2o-3 version 3.46.0.2, a vulnerability exists where uploading and repeatedly parsing a large GZIP file can cau

CVE-2024-10550 HIGH POC
7.5 Mar 20

A vulnerability in the `/3/ParseSetup` endpoint of h2oai/h2o-3 version 3.46.0.1 allows for a denial of service (DoS) att

CVE-2024-10549 HIGH POC
7.5 Mar 20

A vulnerability in the `/3/Parse` endpoint of h2oai/h2o-3 version 3.46.0.1 allows for a denial of service (DoS) attack.

CVE-2024-7768 HIGH POC
7.5 Mar 20

A vulnerability in the `/3/ImportFiles` endpoint of h2oai/h2o-3 version 3.46.1 allows an attacker to cause a denial of s

CVE-2024-10572 HIGH POC
7.5 Mar 20

In h2oai/h2o-3 version 3.46.0.1, the `run_tool` command exposes classes in the `water.tools` package through the `ast` p

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