{"containers":{"cna":{"affected":[{"collectionURL":"https://repo.hex.pm","cpes":["cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"],"defaultStatus":"unaffected","modules":["'Elixir.Mint.HTTP1.Parse'"],"packageName":"mint","packageURL":"pkg:hex/mint","product":"mint","programFiles":["lib/mint/http1/parse.ex"],"programRoutines":[{"name":"'Elixir.Mint.HTTP1.Parse':content_length_header/1"}],"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.Parse'"],"packageName":"elixir-mint/mint","packageURL":"pkg:github/elixir-mint/mint","product":"mint","programFiles":["lib/mint/http1/parse.ex"],"programRoutines":[{"name":"'Elixir.Mint.HTTP1.Parse':content_length_header/1"}],"repo":"https://github.com/elixir-mint/mint.git","vendor":"elixir-mint","versions":[{"lessThan":"47e48027480228e4e32a0b4df39db497b4804921","status":"affected","version":"65e0e86d799a6d3b08e4372fccdd9747535e0dd6","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":"Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') vulnerability in elixir-mint Mint allows attacker-controlled HTTP/1 servers to desynchronise response framing on shared connections.<p>Mint's HTTP/1 <tt>Content-Length</tt> parser, <tt>'Elixir.Mint.HTTP1.Parse':content_length_header/1</tt> in <tt>lib/mint/http1/parse.ex</tt>, parses the header value with <tt>Integer.parse/1</tt>, which accepts an optional <tt>+</tt> or <tt>-</tt> sign prefix. The <tt>length &gt;= 0</tt> guard rejects negatives, but inputs such as <tt>+0</tt> or <tt>+123</tt> are returned as valid lengths. RFC 7230 specifies <tt>Content-Length = 1*DIGIT</tt>, with no sign character permitted.</p><p>A fronting proxy or load balancer that strictly enforces the grammar will reject or reframe a header like <tt>Content-Length: +0</tt>, while Mint silently treats it as zero. When Mint reuses the socket (keep-alive, pipelining, or any pooled connection shared across requesters), the parser disagreement is a response-smuggling primitive: the proxy delimits the body one way, Mint another, and bytes from one response get attributed to the next. Where the same Mint connection is shared across trust boundaries, an attacker-controlled upstream can leak bytes into a different consumer's response stream.</p><p>This issue affects mint: from 0.1.0 before 1.9.0.</p>"}],"value":"Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') vulnerability in elixir-mint Mint allows attacker-controlled HTTP/1 servers to desynchronise response framing on shared connections.\n\nMint's HTTP/1 Content-Length parser, Mint.HTTP1.Parse.content_length_header/1 in lib/mint/http1/parse.ex, parses the header value with Integer.parse/1, which accepts an optional + or - sign prefix. The length >= 0 guard rejects negatives, but inputs such as +0 or +123 are returned as valid lengths. RFC 7230 specifies Content-Length = 1*DIGIT, with no sign character permitted.\n\nA fronting proxy or load balancer that strictly enforces the grammar will reject or reframe a header like Content-Length: +0, while Mint silently treats it as zero. When Mint reuses the socket (keep-alive, pipelining, or any pooled connection shared across requesters), the parser disagreement is a response-smuggling primitive: the proxy delimits the body one way, Mint another, and bytes from one response get attributed to the next. Where the same Mint connection is shared across trust boundaries, an attacker-controlled upstream can leak bytes into a different consumer's response stream.\n\nThis issue affects mint: from 0.1.0 before 1.9.0."}],"impacts":[{"capecId":"CAPEC-273","descriptions":[{"lang":"en","value":"CAPEC-273 HTTP Response Smuggling"}]}],"metrics":[{"cvssV4_0":{"attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":6.3,"baseSeverity":"MEDIUM","privilegesRequired":"NONE","subAvailabilityImpact":"NONE","subConfidentialityImpact":"LOW","subIntegrityImpact":"LOW","userInteraction":"NONE","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-444","description":"CWE-444 Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-06-02T14:15:17.078Z","orgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","shortName":"EEF"},"references":[{"tags":["vendor-advisory","related"],"url":"https://github.com/elixir-mint/mint/security/advisories/GHSA-mjqx-c6f6-7rc2"},{"tags":["related"],"url":"https://cna.erlef.org/cves/CVE-2026-49753.html"},{"tags":["related"],"url":"https://osv.dev/vulnerability/EEF-CVE-2026-49753"},{"tags":["patch"],"url":"https://github.com/elixir-mint/mint/commit/47e48027480228e4e32a0b4df39db497b4804921"}],"source":{"discovery":"EXTERNAL"},"title":"HTTP response smuggling in Mint HTTP/1 client via lenient Content-Length parsing","x_generator":{"engine":"cvelib 1.8.0"}}},"cveMetadata":{"assignerOrgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","assignerShortName":"EEF","cveId":"CVE-2026-49753","datePublished":"2026-06-02T14:15:17.078Z","dateReserved":"2026-06-01T13:45:22.448Z","dateUpdated":"2026-06-02T14:15:17.078Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"}