Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconStand up malicious HTTP/2 server
-
DeliveryInduce Mint client to connect (webhook/SSRF/feed fetch)
-
ExploitNegotiate h2 via ALPN
-
InstallSend HEADERS without END_HEADERS flag
-
C2Stream unbounded CONTINUATION frames
-
ExecuteAccumulator grows past available memory
-
ImpactBEAM process OOM and worker crash
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The Mint client must initiate an HTTP/2 connection to an attacker-controlled or attacker-influenced server - this is the explicit AT:P (Attack Requirement Present) factor and the principal limit on exploitation: the attacker cannot push frames at a Mint client that never dials out to them. No authentication, user interaction, or non-default configuration is required on the victim side because max_header_list_size defaults to :infinity on all vulnerable versions, so any application using Mint <1.9.0 with default settings is exposed. Exploitation is limited to clients that actually negotiate HTTP/2 (ALPN h2) with the malicious endpoint; Mint usages pinned to HTTP/1.1, or applications that only contact a fixed allowlist of trusted servers, are not realistically reachable. Impact is availability-only (VC:N/VI:N/VA:H) - the attacker crashes the BEAM process but does not gain code execution or data access. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VA:H, base 8.2) correctly captures a network-reachable, unauthenticated availability-only impact with an Attack Requirement of Present because the victim Mint client must initiate a connection to the attacker-controlled HTTP/2 server, which is the principal limiter on real-world exploitability. No EPSS score, KEV listing, or public POC was provided, so this is best classified as a credible DoS bug with confirmed upstream fix rather than an actively exploited threat - consistent with the SSVC-style read of automatable=no (requires the victim to initiate to attacker), technical impact=partial (availability of the BEAM process). Practical risk is highest for services that perform outbound HTTP/2 fetches against untrusted or user-supplied URLs (webhooks, SSRF-adjacent fetchers, link unfurling, federated agents), and lowest for clients calling only fixed trusted endpoints; teams should prioritize the upgrade where outbound HTTP/2 destinations are not under their control. |
| Exploit ScenarioDerived | An attacker stands up an HTTP/2 endpoint and lures a Mint-based Elixir service into fetching it - for example, a webhook target, an OAuth discovery URL, an RSS/feed fetcher, a user-supplied image proxy, or an SSRF-reachable internal service. Once the client connects, the server responds with a HEADERS frame lacking END_HEADERS and streams an endless sequence of CONTINUATION frames (each up to SETTINGS_MAX_FRAME_SIZE), driving conn.headers_being_processed to grow without bound until the BEAM process exhausts memory and the worker (and potentially the node) dies. No public exploit identified at time of analysis, but the commit's test fixture demonstrates the precise frame sequence required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 02, 2026
Memory exhaustion in the Elixir Mint HTTP/2 client (versions 0.1.0 through 1.8.x) allows a malicious or compromised HTTP/2 server to crash the client's BEAM process via a CONTINUATION frame flood. The client's receive path buffers HEADERS and CONTINUATION fragments into an unbounded accumulator because SETTINGS_MAX_HEADER_LIST_SIZE defaulted to :infinity and was only enforced on outbound requests, so a single attacker-controlled endpoint can force unlimited iolist growth until the process dies. No public exploit identified at time of analysis, but a verified upstream patch and detailed advisory exist.
RemediationAI
Vendor-released patch: upgrade Mint to 1.9.0 or later, which lands commit b662d127d3028b5426c88d4c9cc7fe430491a10b and changes the client default of max_header_list_size from :infinity to 256 KB while enforcing it on inbound HEADERS+CONTINUATION accumulation (closing the connection with PROTOCOL_ERROR if exceeded); update both direct and transitive dependents (Finch, Req, Tesla, Swoosh) by running mix deps.update mint and refreshing mix.lock. On pre-1.9.0 releases there is no in-library workaround because the enforcement code itself does not yet exist, so the compensating controls are operational: restrict outbound HTTP/2 destinations to a trusted allowlist via egress proxy or NetworkPolicy, disable HTTP/2 for client paths that target untrusted URLs by forcing HTTP/1.1 negotiation (trade-off: loss of multiplexing and head-of-line-blocking benefits), and run Mint-using workers with constrained memory limits (cgroup/systemd MemoryMax) plus supervisor restart so a single CONTINUATION-flood victim crashes and recycles rather than OOM-killing the node. Advisory and patch references: https://github.com/elixir-mint/mint/security/advisories/GHSA-2p26-p43x-fhp8 and https://github.com/elixir-mint/mint/commit/b662d127d3028b5426c88d4c9cc7fe430491a10b.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Mint is a low-level, process-less HTTP/1 and HTTP/2 client library widely used as the transport foundation for Elixir HTTP stacks such as Finch, Tesla, Req, and Swoosh, meaning the bug surface extends to any Elixir/Erlang service that initiates outbound HTTP/2 calls. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): when an HTTP/2 HEADERS frame arrives without END_HEADERS set, Mint stores the header-block fragment in conn.headers_being_processed and appends each subsequent CONTINUATION frame, with no per-stream byte cap, no frame-count cap, and no enforcement of the locally configured max_header_list_size on inbound data. The commit diff (b662d127) introduces a 256 KB default cap, tracks an acc_size alongside the fragment list, and aborts the connection with a PROTOCOL_ERROR GOAWAY once the accumulator would exceed SETTINGS_MAX_HEADER_LIST_SIZE, mirroring the CONTINUATION flood class disclosed for many HTTP/2 stacks in 2024.
Know when Mint gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Primary rating from Vendor (EEF) · only source for this CVE.
CVSS VectorVendor: EEF
Lifecycle Timeline
2DescriptionCVE.org
Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint Mint allows attacker-controlled HTTP/2 servers to exhaust memory in a Mint client (HTTP/2 CONTINUATION flood).
When Mint's HTTP/2 receive path observes a HEADERS frame without the END_HEADERS flag, the unparsed header-block fragment is parked in conn.headers_being_processed, and every subsequent CONTINUATION frame on that stream is appended to the accumulator. Nothing in the receive path caps the accumulator: there is no per-stream size limit, no CONTINUATION frame-count limit, and max_header_list_size is only enforced on outgoing requests, never on inbound header blocks (its default is :infinity).
A malicious or compromised HTTP/2 server can stream an endless sequence of CONTINUATION frames (each up to the peer-advertised SETTINGS_MAX_FRAME_SIZE) and drive the client's iolist to arbitrary size, causing memory exhaustion and BEAM process death. A single connection to an attacker-controlled HTTP/2 endpoint is sufficient.
This issue affects mint: from 0.1.0 before 1.9.0.
Executive ViewAI
Elixir Mint HTTP/2 client versions 0.1.0-1.8.x can be remotely crashed by any HTTP/2 server endpoint it connects to, creating denial-of-service risk for backend services and microservices consuming external or third-party APIs. Organizations using Mint require immediate patching to prevent process crashes and service disruptions.
Apply vendor patch. Pending patch deployment, restrict HTTP/2 server connections to verified and trusted endpoints only; implement process-level monitoring and alerting to detect and respond to unexpected client crashes.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Memory exhaustion in elixir-mint Mint HTTP/2 client (versions 0.2.0 through 1.8.x) allows a malicious HTTP/2 server to c
HTTP response smuggling in the Elixir Mint HTTP client library (versions 0.1.0 through before 1.9.0) allows attacker-con
Uncontrolled memory allocation in the Elixir Mint HTTP client (Mint.HTTP1 module, versions 0.5.0 through 1.9.0) lets a m
Unbounded memory accumulation in the elixir-mint Mint HTTP client library (versions 0.1.0 through <1.10.0) enables a rem
Unbounded memory consumption in the Elixir Mint HTTP client (versions 0.1.0 through 1.9.1) lets a malicious or attacker-
Memory exhaustion denial-of-service in Elixir Mint affects versions 1.1.0 through 1.10.x and allows a malicious or compr
CPU exhaustion via crafted chunked HTTP responses affects the Elixir Mint HTTP client library (versions 1.9.3 through be
Memory exhaustion in elixir-mint's HTTP/2 client library (mint) allows a malicious or attacker-controlled HTTP/2 server
HTTP/1 response smuggling in the Elixir Mint client (0.1.0 through 1.10.x) allows a malicious or attacker-influenced ori
Memory exhaustion in the Elixir Mint HTTP/2 client (mint 0.1.0 through 1.10.x) lets a malicious or man-in-the-middle HTT
Chunked-response smuggling in the Elixir Mint HTTP client (0.1.0 through 1.10.0) allows a malicious or compromised HTTP/
Response-queue poisoning in the elixir-mint Mint HTTP/1.1 client library (versions 0.1.0 through before 1.9.3) allows a
EUVD-2026-33940
GHSA-2p26-p43x-fhp8
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB