{"containers":{"cna":{"affected":[{"collectionURL":"https://repo.hex.pm","cpes":["cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"],"defaultStatus":"unaffected","modules":["'Elixir.Mint.HTTP1.Request'"],"packageName":"mint","packageURL":"pkg:hex/mint","product":"mint","programFiles":["lib/mint/http1/request.ex"],"programRoutines":[{"name":"'Elixir.Mint.HTTP1.Request':encode_request_line/2"}],"repo":"https://github.com/elixir-mint/mint","vendor":"elixir-mint","versions":[{"lessThan":"1.9.0","status":"affected","version":"0.1.0","versionType":"semver"}]},{"collectionURL":"https://github.com","cpes":["cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"],"defaultStatus":"unaffected","modules":["'Elixir.Mint.HTTP1.Request'"],"packageName":"elixir-mint/mint","packageURL":"pkg:github/elixir-mint/mint","product":"mint","programFiles":["lib/mint/http1/request.ex"],"programRoutines":[{"name":"'Elixir.Mint.HTTP1.Request':encode_request_line/2"}],"repo":"https://github.com/elixir-mint/mint.git","vendor":"elixir-mint","versions":[{"lessThan":"fad091454cbb7449b19edb8e1fee12ca7cf28c3a","status":"affected","version":"8db1acff30b6a9433762c18b1e1f891b8c1f74f7","versionType":"git"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*","versionEndExcluding":"1.9.0","versionStartIncluding":"0.1.0","vulnerable":true}],"negate":false,"operator":"OR"}],"operator":"AND"}],"credits":[{"lang":"en","type":"finder","value":"Peter Ullrich"},{"lang":"en","type":"remediation developer","value":"Eric Meadows-Jönsson"},{"lang":"en","type":"analyst","value":"Jonatan Männchen / EEF"}],"descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in elixir-mint Mint allows HTTP Request Splitting and HTTP Request Smuggling.<p>In <tt>lib/mint/http1/request.ex</tt>, the <tt>encode_request_line/2</tt> function splices the caller-supplied <tt>method</tt> and <tt>target</tt> arguments directly into the HTTP/1 request line without any character validation: <tt>[method, ?\\s, target, \" HTTP/1.1\\r\\n\"]</tt>. An application that forwards attacker-controlled input as the HTTP method or target to <tt>'Elixir.Mint.HTTP':request/5</tt> 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.</p><p>Mint 1.7.0 introduced <tt>validate_request_target/2</tt>, which rejects CRLF and other control characters in the <tt>target</tt> by default and closes the path/query vector unless the caller opts out via <tt>skip_target_validation: true</tt>. The <tt>method</tt> field remains unvalidated, so the method-based injection is exploitable under the default Mint configuration on all versions.</p><p>This issue affects mint: from 0.1.0 before 1.9.0.</p>"}],"value":"Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in elixir-mint Mint allows HTTP Request Splitting and HTTP Request Smuggling.\n\nIn 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 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.\n\nMint 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.\n\nThis issue affects mint: from 0.1.0 before 1.9.0."}],"impacts":[{"capecId":"CAPEC-33","descriptions":[{"lang":"en","value":"CAPEC-33 HTTP Request Smuggling"}]},{"capecId":"CAPEC-105","descriptions":[{"lang":"en","value":"CAPEC-105 HTTP Request Splitting"}]}],"metrics":[{"cvssV4_0":{"attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"LOCAL","baseScore":2.1,"baseSeverity":"LOW","privilegesRequired":"NONE","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"LOW","userInteraction":"NONE","vectorString":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-93","description":"CWE-93 Improper Neutralization of CRLF Sequences ('CRLF Injection')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-06-02T14:15:09.015Z","orgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","shortName":"EEF"},"references":[{"tags":["vendor-advisory","related"],"url":"https://github.com/elixir-mint/mint/security/advisories/GHSA-2pg6-44cx-c49v"},{"tags":["related"],"url":"https://cna.erlef.org/cves/CVE-2026-48861.html"},{"tags":["related"],"url":"https://osv.dev/vulnerability/EEF-CVE-2026-48861"},{"tags":["patch"],"url":"https://github.com/elixir-mint/mint/commit/fad091454cbb7449b19edb8e1fee12ca7cf28c3a"}],"source":{"discovery":"EXTERNAL"},"title":"CRLF injection in HTTP/1 request line via unvalidated method in Mint","x_generator":{"engine":"cvelib 1.8.0"}}},"cveMetadata":{"assignerOrgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","assignerShortName":"EEF","cveId":"CVE-2026-48861","datePublished":"2026-06-02T14:15:09.015Z","dateReserved":"2026-05-25T20:44:10.697Z","dateUpdated":"2026-06-02T14:15:09.015Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"}