CVE-2026-44453

NameCVE-2026-44453
Descriptionh2o 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
h2o (PTS)bullseye2.2.5+dfsg2-6vulnerable
bookworm2.2.5+dfsg2-7vulnerable

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
h2osource(unstable)(unfixed)

Notes

[bookworm] - h2o <postponed> (Minor issue, DoS; the alloca() in lib/handler/file.c on_req() is present, but the crash premise is musl's 128KB default pthread stack, and h2o passes no pthread attr so glibc worker threads get the 8MB default)
[bullseye] - h2o <postponed> (Minor issue, DoS; the alloca() in lib/handler/file.c on_req() is present, but the crash premise is musl's 128KB default pthread stack, and h2o passes no pthread attr so glibc worker threads get the 8MB default)
https://github.com/h2o/h2o/security/advisories/GHSA-rf9v-m59p-mq84
Fixed by: https://github.com/h2o/h2o/commit/6b5370d9d09fcf83aa7620ddf77de1954a192181

Search for package or bug name: Reporting problems