CVE-2026-59246
Deferred Deferred - Pending Action

Memory Exhaustion in Mint HTTP/2 Client

Vulnerability report for CVE-2026-59246, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-14

Last updated on: 2026-07-14

Assigner: EEF

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-14
Last Modified
2026-07-14
Generated
2026-08-03
AI Q&A
2026-07-14
EPSS Evaluated
2026-08-02
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
elixir-mint mint to 1.9.2 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-770 The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-59246 is a vulnerability in the elixir-mint library, which is an HTTP/2 client for Erlang. The issue involves the improper handling of HTTP/2 CONTINUATION frames with zero-length payloads.

In the affected versions (before 1.9.2), the Mint.HTTP2.handle_continuation/3 function accumulates header-block fragments from CONTINUATION frames into a nested structure called conn.headers_being_processed. Each frame adds a new level of nesting, but the structure is only released when a frame with the END_HEADERS flag arrives.

The vulnerability arises because zero-length CONTINUATION frames do not increase the byte-size total checked by Mint.HTTP2.assert_header_block_within_max_size/2. Since the size cap is never triggered and the END_HEADERS flag is never sent, an attacker can send an unbounded chain of zero-length CONTINUATION frames. Each frame still nests the accumulator one level deeper, causing memory usage to grow indefinitely.

This can lead to memory exhaustion on the client host, resulting in a denial of service (DoS) due to out-of-memory termination of the BEAM node running the Mint client.

Detection Guidance

Detecting this vulnerability on your network or system involves monitoring for unusual HTTP/2 traffic patterns, particularly an excessive number of CONTINUATION frames with zero-length payloads. Since the vulnerability is triggered by a remote HTTP/2 server sending a HEADERS frame without the END_HEADERS flag followed by continuous zero-length CONTINUATION frames, you can look for these patterns.

  • Use network monitoring tools like Wireshark or tcpdump to capture HTTP/2 traffic. Filter for HTTP/2 CONTINUATION frames and check for sequences of zero-length frames without an END_HEADERS flag.
  • Example tcpdump command to capture HTTP/2 traffic: tcpdump -i <interface> -w http2_traffic.pcap 'tcp port 443 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x48545450)'
  • In Wireshark, apply a filter for 'http2.type == 0x9' (CONTINUATION frames) and inspect the payload length and flags. Look for sequences where the payload length is zero and the END_HEADERS flag is absent.
  • Monitor client memory usage on systems running the Mint HTTP/2 client. Sudden or sustained increases in memory consumption during HTTP/2 connections may indicate exploitation.
  • Check the version of the elixir-mint library in use. If the version is before 1.9.2, the system is vulnerable. You can verify the version by checking the library's mix.exs file or running 'mix deps' in an Elixir project.
Impact Analysis

This vulnerability can impact you in several ways if you are using an affected version of the elixir-mint library (versions before 1.9.2) in your applications or services.

  • Denial of Service (DoS): A malicious HTTP/2 server can exploit this vulnerability to exhaust memory on your client host. This can cause your application or service to crash due to out-of-memory errors, leading to downtime and disruption of services.
  • Attack Vectors: The vulnerability can be exploited through various attack vectors, including direct connections to a malicious server, attacker-controlled redirects, server-side request forgery (SSRF), or man-in-the-middle (MITM) attacks. This means an attacker does not need direct access to your system to exploit it.
  • Resource Exhaustion: Even if your application does not crash immediately, sustained exploitation can degrade performance and consume system resources, leading to slower response times and potential instability.

The impact is primarily on system availability, as indicated by the CVSS score of 6.3, which classifies this as a moderate severity issue.

Compliance Impact

This vulnerability can have implications for compliance with common standards and regulations, depending on the context in which the affected software is used.

  • GDPR (General Data Protection Regulation): While this vulnerability does not directly involve data breaches or unauthorized access to personal data, it can lead to service disruptions. Under GDPR, organizations must ensure the availability and resilience of processing systems. Prolonged downtime or service unavailability due to a denial of service could be seen as a failure to meet these requirements, potentially leading to compliance issues.
  • HIPAA (Health Insurance Portability and Accountability Act): For organizations handling protected health information (PHI), HIPAA requires ensuring the confidentiality, integrity, and availability of electronic PHI. A denial of service caused by this vulnerability could disrupt access to critical health systems, violating the availability requirement. This could result in non-compliance with HIPAA if not addressed promptly.
  • Other Standards: Many industry-specific standards and frameworks (e.g., ISO 27001, NIST, PCI DSS) require organizations to maintain the availability and security of their systems. A vulnerability that can lead to denial of service may violate these requirements, necessitating timely patching and mitigation to remain compliant.

To maintain compliance, organizations should update the elixir-mint library to version 1.9.2 or later and ensure that their systems are protected against potential exploitation of this vulnerability.

Mitigation Strategies

To mitigate this vulnerability, follow these immediate steps:

  • Upgrade the elixir-mint library to version 1.9.2 or later. This version includes the fix for the CONTINUATION frame handling issue. You can update the library by modifying the dependency in your mix.exs file and running 'mix deps.update mint'.
  • If upgrading is not immediately possible, apply the patch from commit 5779de1666344b32aefc4354184ea07f902f73ce. This patch modifies the HTTP/2 implementation to skip adding empty CONTINUATION frames to the accumulator, preventing memory exhaustion.
  • Restrict outbound HTTP/2 connections to trusted servers. Use network-level controls such as firewalls or proxy servers to block or limit connections to untrusted or unknown HTTP/2 servers.
  • Monitor and limit memory usage for processes running the Mint HTTP/2 client. Implement process-level memory limits or use tools like Erlang's built-in memory monitors to detect and terminate processes consuming excessive memory.
  • Disable HTTP/2 support in the Mint client if it is not required for your application. This can be done by configuring the client to use HTTP/1.1 instead.
  • Review and update any SSRF (Server-Side Request Forgery) protections to prevent attackers from forcing the client to connect to malicious HTTP/2 servers.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-59246. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart