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
Share

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

Lifecycle Timeline

1
Analysis Generated
Jul 10, 2026 - 21:40 vuln.today

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.

AnalysisAI

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.

Technical ContextAI

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.

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.

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

Share

CVE-2026-55213 vulnerability details – vuln.today

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