Unbounded HTTP/1 response-header and chunked-trailer accumulation in Mint causes memory-exhaustion DoS
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-770.
Summary
Allocation of resources without limits vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service. The Mint.HTTP1.decode_headers/5 and Mint.HTTP1.decode_trailer_headers/4 functions in lib/mint/http1.ex accumulate every parsed response header and chunked-trailer field into a per-request list that persists across incoming TCP segments as request.headers_buffer, and only clear it when the terminating blank line is received. The section has no cap on the number of headers or on total bytes, and the underlying :erlang.decode_packet(:httph_bin, binary, []) parser is invoked with an empty option list so its per-line and per-packet size limits also default to unlimited. A malicious HTTP server (reachable directly, via an attacker-controlled redirect, via SSRF, or via a man-in-the-middle) can stream complete header lines (or, after a chunked body, complete trailer lines) indefinitely without ever emitting the terminating blank line. The connection state grows without bound until the BEAM node is killed by the operating system's out-of-memory handler, taking down the entire application that uses Mint as an HTTP client. This issue affects mint: from 0.1.0 before 1.9.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| elixir-mint | mint | 0.1.0 to before 1.9.2 | 1.9.2 | Patch available | CNA |
- mint Vendorelixir-mint Affected 0.1.0 to before 1.9.2 Fixed in 1.9.2 Patch available CNA
CPE names CNA · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:* | — | — | — |
- cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:* Versions — — ·—
Remediation
- Fix · CNA mint (elixir-mint) Fixed in 1.9.2
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
elixir-mint mint 1.9.2
2 records Highest priority Priority HIGH 1 HIGH, 1 MEDIUM
Other records, highest priority first
- TI-2026-42386 Zero-length HTTP/2 CONTINUATION frames bypass Mint's header-block byte-size cap and exhaust client memoryPriority MEDIUM 61
Timeline
- 2026-10-02 Threatist record created from CVE-2026-58229
References
More elixir-mint vulnerabilities
- TI-2026-41929 Unauthenticated denial-of-service via unbounded HPACK integer decoding in hpax CVSS 4.0HIGH 8.7
- TI-2026-40963 mint buffers an entire chunked response chunk in memory in Mint.HTTP1.decode_body/5 CVSS 4.0HIGH 8.7
- TI-2026-36665 HTTP/2 CONTINUATION flood in Mint client via unbounded header-block accumulation CVSS 4.0HIGH 8.2
- TI-2026-36126 Unbounded conn.streams growth in Mint HTTP/2 client via unenforced PUSH_PROMISE concurrency CVSS 4.0HIGH 8.2
- TI-2026-57046 Unbounded HTTP/1 status-line and chunk-extension buffering in Mint causes memory-exhaustion DoS CVSS 4.0HIGH 8.2
- TI-2026-63369 Mint HTTP/1 client applies chunked framing when chunked is not the final transfer coding… CVSS 4.0MEDIUM 6.3
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences