CVE-2026-59246
Zero-length HTTP/2 CONTINUATION frames bypass Mint's header-block byte-size cap and exhaust client memory
Vulnerability description
Allocation of resources without limits vulnerability in elixir-mint mint allows a remote HTTP/2 server to exhaust memory on the client host and cause a denial of service.
The Mint.HTTP2.handle_continuation/3 function in lib/mint/http2.ex accumulates the header-block fragment carried by each HTTP/2 CONTINUATION frame into a growing conn.headers_being_processed nesting, one level deeper per frame, and only releases it when a frame with the END_HEADERS flag arrives. The only guard on this accumulator is Mint.HTTP2.assert_header_block_within_max_size/2, which sums the byte size of the fragments received so far. Because a CONTINUATION frame is permitted by the protocol to carry a zero-length payload, an unbounded chain of zero-length CONTINUATION frames adds no bytes to the running total, never trips the size cap, and never emits END_HEADERS, yet each frame still nests the accumulator one level deeper.
A malicious HTTP/2 server (reachable directly, via an attacker-controlled redirect, via SSRF, or via a man-in-the-middle) can open a stream by sending a HEADERS frame without END_HEADERS and then stream zero-length CONTINUATION frames indefinitely. Client memory grows one cons cell per frame received; sustained bandwidth from the peer drives the BEAM node running the Mint client to memory exhaustion and eventual out-of-memory termination.
This issue affects mint: from 0.1.0 before 1.9.2.
Affected
pkg:hex/mint
| Module | Source File | Routine |
|---|---|---|
Mint.HTTP2
|
lib/mint/http2.ex
|
Mint.HTTP2.handle_continuation/3
|
Mint.HTTP2.assert_header_block_within_max_size/2
|
pkg:github/elixir-mint/mint
| Module | Source File | Routine |
|---|---|---|
Mint.HTTP2
|
lib/mint/http2.ex
|
Mint.HTTP2.handle_continuation/3
|
Mint.HTTP2.assert_header_block_within_max_size/2
|
| Status | Type | Version | Changes / Fixed in |
|---|---|---|---|
| affected | git ⓘ | 596ca43045
|
< 5779de1666
|
References
- https://github.com/elixir-mint/mint/security/advisories/GHSA-8pf6-g464-h6h9 vendor-advisory related
- https://osv.dev/vulnerability/EEF-CVE-2026-59246 related
- https://github.com/elixir-mint/mint/commit/5779de1666344b32aefc4354184ea07f902f73ce patch
Credits
- Finder: zx (Jace)
- Remediation developer: Andrea Leopardi
- Remediation reviewer: Eric Meadows-Jönsson
- Analyst: Jonatan Männchen / EEF
CVE record as JSON:
GET /cves/CVE-2026-59246.json
OSV record as JSON:
GET /osv/EEF-CVE-2026-59246.json