Vulnerability description

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.

Affected

pkg:hex/mint

Status Type Version Changes / Fixed in
affected semver 0.1.0 < 1.9.2

pkg:github/elixir-mint/mint

Module Source File Routine
Mint.HTTP1 lib/mint/http1.ex Mint.HTTP1.decode_headers/5
Mint.HTTP1.decode_trailer_headers/4
Status Type Version Changes / Fixed in
affected git 3e6de4bac4 < 566d702e6f

References

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-58229.json
OSV record as JSON:  GET /osv/EEF-CVE-2026-58229.json