CVE-2026-59249

Sign-tolerant HTTP/1 chunk-size parser in Mint enables response smuggling against strict intermediaries on pooled connections

Published Jul 16, 2026 CVSS 4.0 · 6.3 Medium EPSS < 1% KEV · Not listed
Description
Inconsistent interpretation of HTTP requests (HTTP response smuggling) vulnerability in elixir-mint mint allows a malicious HTTP/1 server to desynchronize a strict intermediary and the Mint client on the same pooled connection, enabling response-queue poisoning against subsequent requests that share the connection.

The Mint.HTTP1.decode_body/5 function in lib/mint/http1.ex parses the chunk-size line of a Transfer-Encoding: chunked response with Integer.parse(data, 16). RFC 7230 defines chunk-size = 1*HEXDIG and forbids any sign prefix, but Integer.parse/2 accepts an optional leading + or -. A chunk-size line of +5 is accepted as a five-byte chunk; lines of +0 and -0 are accepted as the terminating zero-length chunk and end the message body early.

An RFC-strict intermediary in the response path rejects these forms, so the intermediary and the Mint client disagree on where one response ends and the next begins. On a pooled keep-alive connection, an attacker-influenced origin can inject bytes that the client attributes to the next legitimate response on the same connection, poisoning the response queue and corrupting the responses returned to unrelated in-flight requests.

This issue affects mint: from 0.1.0 before 1.9.3.

Analysis

AI-generated

Technical impact

The Mint HTTP/1 implementation parses the chunk-size line of a chunked response using Integer.parse/2, which accepts an optional leading '+' or '-'. RFC 7230 defines chunk-size as one or more hexadecimal digits and forbids any sign prefix. Consequently, a server that sends a chunk-size like '+5' is interpreted by Mint as a five‑byte chunk, while a strict intermediary rejects it. This disagreement desynchronizes the client and the intermediary, allowing a malicious server to inject data that the client attributes to the next legitimate response on the same keep‑alive connection, effectively poisoning the response queue. The result can be data leakage, corrupted responses, or denial of service for unrelated in‑flight requests. The weakness is a classic HTTP response splitting issue, identified as CWE‑444.

Affected Systems

The vulnerability affects the Elixir‑Mint library, version 0.1.0 through 1.9.2 inclusive. Any application that uses Mint for HTTP/1 communications on pooled keep‑alive connections and interacts with external servers is potentially exposed.

Risk and Exploitability

The CVSS score of 6.3 indicates a moderate severity vulnerability. EPSS score of 0.00301 (<1%) and the flaw not being listed in CISA’s KEV catalog suggest a low probability of current exploitation. However, the attack can be carried out remotely by a server that controls the origin of HTTP responses sent through any pooled keep‑alive connection. Once the desynchronization occurs, subsequent requests made over the shared connection can receive poisoned data. The risk is primarily data integrity and availability for services relying on consistent chunk parsing.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the elixir‑mint library to version 1.9.3 or later, which contains a fix that rejects signed chunk-size values.
  • If an upgrade is not immediately possible, configure any HTTP proxies or intermediate devices to reject signed chunk-size values in chunked responses, thereby preventing desynchronization.
  • For applications that cannot be patched or cannot modify proxy behavior, disable or restrict the use of HTTP/1 pooled keep‑alive connections to trusted servers only, or enforce a strict RFC‑compliant chunk-size parser in the application logic.

Generated by OpenCVE AI on July 31, 2026 at 02:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Inconsistent interpretation of HTTP requests (HTTP response smuggling) vulnerability in elixir-mint mint allows a malicious HTTP/1 server to desynchronize a strict intermediary and the Mint client on the same pooled connection, enabling response-queue poisoning against subsequent requests that share the connection. The Mint.HTTP1.decode_body/5 function in lib/mint/http1.ex parses the chunk-size line of a Transfer-Encoding: chunked response with Integer.parse(data, 16). RFC 7230 defines chunk-size = 1*HEXDIG and forbids any sign prefix, but Integer.parse/2 accepts an optional leading + or -. A chunk-size line of +5 is accepted as a five-byte chunk; lines of +0 and -0 are accepted as the terminating zero-length chunk and end the message body early. An RFC-strict intermediary in the response path rejects these forms, so the intermediary and the Mint client disagree on where one response ends and the next begins. On a pooled keep-alive connection, an attacker-influenced origin can inject bytes that the client attributes to the next legitimate response on the same connection, poisoning the response queue and corrupting the responses returned to unrelated in-flight requests. This issue affects mint: from 0.1.0 before 1.9.3.
Title Sign-tolerant HTTP/1 chunk-size parser in Mint enables response smuggling against strict intermediaries on pooled connections
First Time appeared Elixir-mint
Elixir-mint mint
Weaknesses CWE-444
CPEs cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
Vendors & Products Elixir-mint
Elixir-mint mint
References
Metrics cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-444

    Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

Sources

Status
PUBLISHED
Assigner
EEF
Published
Updated
Jul 17, 2026, 10:11 AM
Reserved
Jul 4, 2026, 4:24 AM
Status
Deferred
Published
Jul 16, 2026, 12:18 PM
Modified
Oct 24, 2026, 9:10 PM