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.
Published: 2026-07-16
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

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.

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

Remediation

No vendor fix or workaround currently provided.

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 yet.

History

Thu, 16 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Thu, 16 Jul 2026 12:15:00 +0000

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'}


Subscriptions

Elixir-mint Mint
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-07-17T10:11:36.783Z

Reserved: 2026-07-04T04:24:03.652Z

Link: CVE-2026-59249

cve-icon Vulnrichment

Updated: 2026-07-16T12:38:12.786Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T02:15:06Z

Weaknesses
  • CWE-444

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