CVE-2026-44453

h2o is vulnerable to musl libc stack overflow

Published Jul 16, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. Prior to commit 6b5370d, h2o is vulnerable to a Denial of Service attack when calling alloca under certain conditions. When serving static files, h2o builds the file path on stack, by calling alloca. The maximum size of the memory allocated using alloca can be as huge as ~600KB, which exceeds the default pthread stack size used by musl libc (128KB). If the amount of memory allocated by alloca exceeds the stack size, the h2o server crashes with a segmentation fault, while it tries to touch the guard page. This issue has been fixed by commit 6b5370d.

Analysis

AI-generated

Technical impact

h2o builds static file paths on the stack by calling alloca. The allocation can reach approximately 600 KB, which surpasses the default 128 KB pthread stack size used by musl libc. When the allocation exceeds the stack limit, the server touches the guard page and crashes with a segmentation fault, effectively taking the HTTP service offline. This is a stack-based buffer overflow (CWE‑770) that also involves writing beyond the allocated memory (CWE‑789). The result is a denial of service for clients attempting to access static files that trigger the oversized allocation.

Affected Systems

The vulnerability affects installations of the h2o HTTP server running on systems that use musl libc with its default stack size. Any version of h2o released before commit 6b5370d (identified by the new commit hash 6b5370d9d09fcf83aa7620ddf77de1954a192181) is impacted. No specific version numbers are listed, so any pre‑patch build is considered vulnerable when served on musl‑based environments.

Risk and Exploitability

The CVSS score of 7.5 indicates moderate to high severity. The EPSS score of less than 1 % suggests that exploitation attempts are currently uncommon. The vulnerability is not listed in CISA KEV, reducing urgency from an official exploitation standpoint. Based on the description, the likely attack vector is remote: an attacker crafts an HTTP request for a static file whose path causes the server to allocate a large stack buffer via alloca, leading to a crash and denial of service. No authentication requirement is indicated, so the attack is feasible against any publicly reachable instance.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade h2o to a version that includes commit 6b5370d or newer, which removes the stack overflow bug.
  • If upgrading is not immediately possible, configure h2o to disable or limit static file serving, or adjust configuration to prevent long path construction. Ingested requests that would trigger large stack allocations should be filtered out.
  • On musl‑based systems, consider increasing the pthread stack size for the h2o process or switching to a libc implementation that provides a larger default stack to reduce the risk of a crash.

Generated by OpenCVE AI on July 31, 2026 at 01:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared H2o
H2o h2o
Vendors & Products H2o
H2o h2o
Type Values Removed Values Added
Description h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. Prior to commit 6b5370d, h2o is vulnerable to a Denial of Service attack when calling alloca under certain conditions. When serving static files, h2o builds the file path on stack, by calling alloca. The maximum size of the memory allocated using alloca can be as huge as ~600KB, which exceeds the default pthread stack size used by musl libc (128KB). If the amount of memory allocated by alloca exceeds the stack size, the h2o server crashes with a segmentation fault, while it tries to touch the guard page. This issue has been fixed by commit 6b5370d.
Title h2o is vulnerable to musl libc stack overflow
Weaknesses CWE-770
CWE-789
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling

  • CWE-789

    Memory Allocation with Excessive Size Value

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 17, 2026, 2:29 PM
Reserved
May 6, 2026, 3:49 PM
Status
Analyzed
Published
Jul 16, 2026, 11:16 PM
Modified
Aug 6, 2026, 1:25 PM