CVE-2026-58229
Deferred Deferred - Pending Action

Memory Exhaustion in Mint HTTP Client Library

Vulnerability report for CVE-2026-58229, 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 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.

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 From 0.1.0 (inc) 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-58229 is a vulnerability in the elixir-mint library, which is an HTTP client for Elixir and Erlang. The issue involves the improper handling of HTTP/1 response headers and chunked-trailer headers.

The functions Mint.HTTP1.decode_headers/5 and Mint.HTTP1.decode_trailer_headers/4 accumulate parsed headers and trailers into a per-request list called request.headers_buffer. This buffer persists across incoming TCP segments and is only cleared when a terminating blank line is received.

The vulnerability arises because there is no limit on the number of headers or the total bytes that can be accumulated. A malicious HTTP server can exploit this by streaming an endless sequence of header or trailer lines without ever sending the terminating blank line. This causes the client's memory usage to grow indefinitely until the BEAM node (the Erlang runtime) is terminated by the operating system's out-of-memory handler.

This affects versions of mint from 0.1.0 before 1.9.2. The issue can be triggered through direct connections, attacker-controlled redirects, server-side request forgery (SSRF), or man-in-the-middle attacks.

Detection Guidance

Detecting this vulnerability on your network or system involves monitoring for unusual memory consumption in applications using the Mint HTTP client library (versions 0.1.0 to 1.9.1). Since the vulnerability is triggered by a malicious HTTP server sending an endless stream of headers or trailers, you can look for the following indicators:

  • Check for applications using Mint versions between 0.1.0 and 1.9.1. You can inspect the dependencies of your Elixir/Erlang projects by reviewing the mix.exs file or the rebar.config file for the Mint library version.
  • Monitor BEAM (Erlang VM) processes for abnormal memory growth. Tools like `observer` (part of the Erlang/OTP distribution) or `top`/`htop` can help identify processes consuming excessive memory. For example, run `top -p $(pgrep -f beam)` to monitor BEAM process memory usage.
  • Inspect network traffic for connections to untrusted or unexpected HTTP servers. Use network monitoring tools like Wireshark or tcpdump to capture and analyze HTTP traffic. Look for responses with unusually large or endless header sections. Example command: `tcpdump -i any -s 0 -A 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'`
  • Review application logs for errors related to memory exhaustion or crashes in the Mint HTTP client. Look for logs indicating failed HTTP requests or out-of-memory errors in the BEAM runtime.

There are no direct commands to detect the vulnerability itself, but these steps can help identify symptoms or vulnerable configurations.

Impact Analysis

This vulnerability can have several impacts on you or your system:

  • Denial of Service (DoS): A malicious HTTP server can cause your application to exhaust all available memory, leading to a crash of the BEAM node. This takes down the entire application using the Mint HTTP client.
  • System Instability: The memory exhaustion can degrade system performance, not just for the affected application but potentially for other processes running on the same host.
  • Security Risks: If an attacker exploits this vulnerability via man-in-the-middle attacks, SSRF, or malicious redirects, they can disrupt your services without needing direct access to your infrastructure.
  • Operational Disruption: A single malicious connection is sufficient to crash the application, leading to downtime and requiring manual intervention to restore service.
Compliance Impact

This vulnerability can impact compliance with several standards and regulations, depending on the context of your application:

  • GDPR (General Data Protection Regulation): If your application processes personal data of EU citizens, a denial-of-service attack could lead to availability issues, violating the GDPR's requirement for ensuring the availability and resilience of processing systems (Article 32). Prolonged downtime or data unavailability could also trigger reporting obligations under GDPR's incident response requirements.
  • HIPAA (Health Insurance Portability and Accountability Act): For applications handling protected health information (PHI), this vulnerability could compromise system availability, which is a key requirement under the HIPAA Security Rule. Unplanned downtime could disrupt access to critical health data, potentially violating the rule's requirements for ensuring the confidentiality, integrity, and availability of PHI.
  • PCI DSS (Payment Card Industry Data Security Standard): If your application processes payment card data, this vulnerability could lead to service disruptions, violating PCI DSS requirements for maintaining a secure and available environment. Specifically, it could impact Requirement 6 (develop and maintain secure systems and applications) and Requirement 12 (maintain a policy that addresses information security).
  • ISO 27001: This standard requires organizations to manage information security risks, including those related to system availability. A vulnerability that allows for denial-of-service attacks could be seen as a failure to implement adequate controls for ensuring system availability, potentially leading to non-compliance.

In summary, while the vulnerability itself does not directly expose sensitive data, its impact on system availability and stability can lead to non-compliance with regulations that mandate the protection and availability of data.

Mitigation Strategies

To mitigate this vulnerability, follow these immediate steps:

  • Upgrade the Mint library to version 1.9.2 or later. This version includes a fix that enforces size limits on HTTP response headers and chunked trailers. Update your project dependencies by modifying the mix.exs file (for Elixir projects) or rebar.config (for Erlang projects) to specify the patched version. Example for mix.exs: `{:mint, ">= 1.9.2"}`.
  • If upgrading is not immediately possible, apply a temporary workaround by configuring the `:max_header_list_size` option in the Mint HTTP client. Set this option to a reasonable limit (e.g., 256 KiB) to prevent unbounded memory growth. Example: `Mint.HTTP.connect(:http, "example.com", 80, max_header_list_size: 262144)`. Note that this workaround may not fully mitigate the issue in all cases, as described in Resource 2.
  • Restrict outbound HTTP connections from your applications to trusted servers only. Use network-level controls (e.g., firewalls) to block connections to untrusted or malicious HTTP servers that could exploit this vulnerability.
  • Monitor your applications for signs of memory exhaustion or crashes. Implement alerts for abnormal memory usage in BEAM processes to detect potential exploitation attempts.
  • Review and validate any redirects or SSRF (Server-Side Request Forgery) vectors in your application. Ensure that your application does not follow redirects to untrusted servers or make requests to attacker-controlled endpoints.

Chat Assistant

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

EPSS Chart