Vulnerability description

Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in elixir-mint Mint allows HTTP Request Splitting and HTTP Request Smuggling.

In lib/mint/http1/request.ex, the encode_request_line/2 function splices the caller-supplied method and target arguments directly into the HTTP/1 request line without any character validation: [method, ?\s, target, " HTTP/1.1\r\n"]. An application that forwards attacker-controlled input as the HTTP method or target to 'Elixir.Mint.HTTP':request/5 is therefore exposed to request-line CRLF injection: the attacker can terminate the request line early, inject arbitrary headers, and smuggle an entirely separate pipelined HTTP request onto the same TCP connection.

Mint 1.7.0 introduced validate_request_target/2, which rejects CRLF and other control characters in the target by default and closes the path/query vector unless the caller opts out via skip_target_validation: true. The method field remains unvalidated, so the method-based injection is exploitable under the default Mint configuration on all versions.

This issue affects mint: from 0.1.0 before 1.9.0.

Affected

pkg:hex/mint

Status Type Version Changes / Fixed in
affected semver 0.1.0 < 1.9.0

pkg:github/elixir-mint/mint

Module Source File Routine
Mint.HTTP1.Request lib/mint/http1/request.ex Mint.HTTP1.Request.encode_request_line/2
Status Type Version Changes / Fixed in
affected git 8db1acff30 < fad091454c

References

Credits

  • Finder: Peter Ullrich
  • Remediation developer: Eric Meadows-Jönsson
  • Analyst: Jonatan Männchen / EEF

CVE record as JSON:  GET /cves/CVE-2026-48861.json
OSV record as JSON:  GET /osv/EEF-CVE-2026-48861.json