GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration
Search

Find a vulnerability

Search criteria

    12 vulnerabilities by elixir-mint

    CVE-2026-82672 (GCVE-0-2026-82672)

    Vulnerability from cvelistv5 – Published: 2026-09-19 17:00 – Updated: 2026-09-19 17:00
    VLAI
    Title
    Unvalidated chunk-size line tail in Mint HTTP/1 client enables response smuggling against strict intermediaries on pooled connections
    Summary
    Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') vulnerability in elixir-mint mint allows a malicious HTTP/1 server to desynchronize a strict intermediary and the Mint client on a pooled connection, enabling response-queue poisoning against subsequent requests that share the connection. Mint.HTTP1.Parse.chunk_size/1 in lib/mint/http1/parse.ex stops at the first non-hexadecimal byte of a chunked response's chunk-size line and returns the remainder unexamined. Mint.HTTP1.decode_body/5 in lib/mint/http1.ex then discards every byte up to the CRLF with Parse.ignore_until_crlf/1, so the accepted grammar is a run of hex digits followed by arbitrary bytes, where RFC 9112 permits only a ;-introduced chunk extension. Lines such as 5ZZZZZ and 5 9 are accepted as chunk size 5, and 0ZZZZ is accepted as the terminating chunk that ends the message body. An RFC-strict intermediary rejects such a line while Mint accepts it, so the two disagree on chunk boundaries and on where the response ends. This issue affects mint: from 0.1.0 before 1.10.1.
    CWE
    • CWE-444 - Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.1.0 , < 1.10.1 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: 60089586ec7adc9fddb09f69a2f5919ba9ac7f33 , < c82377838dc6e275ef40bafa664fbcdf50270c60 (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1.Parse\u0027",
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1/parse.ex",
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Parse\u0027:chunk_size/1"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Parse\u0027:ignore_until_crlf/1"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1.10.1",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1.Parse\u0027",
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1/parse.ex",
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Parse\u0027:chunk_size/1"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Parse\u0027:ignore_until_crlf/1"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "c82377838dc6e275ef40bafa664fbcdf50270c60",
                  "status": "affected",
                  "version": "60089586ec7adc9fddb09f69a2f5919ba9ac7f33",
                  "versionType": "git"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eExploitation requires a deployment topology in which an RFC-strict HTTP/1 intermediary (proxy, load balancer, or WAF) sits between the Mint client and the attacker-influenced origin, and HTTP/1 connections between the client and the intermediary are reused across requests (keep-alive with connection pooling). Mint clients that talk directly to an origin without an intermediary, or that do not reuse connections, are not exploitable for response-queue poisoning even if the vulnerable parsing behavior is present.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Exploitation requires a deployment topology in which an RFC-strict HTTP/1 intermediary (proxy, load balancer, or WAF) sits between the Mint client and the attacker-influenced origin, and HTTP/1 connections between the client and the intermediary are reused across requests (keep-alive with connection pooling). Mint clients that talk directly to an origin without an intermediary, or that do not reuse connections, are not exploitable for response-queue poisoning even if the vulnerable parsing behavior is present."
                }
              ],
              "value": "Exploitation requires a deployment topology in which an RFC-strict HTTP/1 intermediary (proxy, load balancer, or WAF) sits between the Mint client and the attacker-influenced origin, and HTTP/1 connections between the client and the intermediary are reused across requests (keep-alive with connection pooling). Mint clients that talk directly to an origin without an intermediary, or that do not reuse connections, are not exploitable for response-queue poisoning even if the vulnerable parsing behavior is present."
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "1.10.1",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Eurico Nicacio"
            },
            {
              "lang": "en",
              "type": "reporter",
              "value": "Eurico Nicacio"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Eric Meadows-J\u00f6nsson"
            },
            {
              "lang": "en",
              "type": "remediation reviewer",
              "value": "Andrea Leopardi"
            }
          ],
          "dateAssigned": "2026-09-19T15:55:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eInconsistent Interpretation of HTTP Requests (\u0027HTTP Request/Response Smuggling\u0027) vulnerability in elixir-mint mint allows a malicious HTTP/1 server to desynchronize a strict intermediary and the Mint client on a pooled connection, enabling response-queue poisoning against subsequent requests that share the connection.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eMint.HTTP1.Parse.chunk_size/1\u003c/code\u003e in \u003ccode\u003elib/mint/http1/parse.ex\u003c/code\u003e stops at the first non-hexadecimal byte of a chunked response\u0027s chunk-size line and returns the remainder unexamined. \u003ccode\u003eMint.HTTP1.decode_body/5\u003c/code\u003e in \u003ccode\u003elib/mint/http1.ex\u003c/code\u003e then discards every byte up to the CRLF with \u003ccode\u003eParse.ignore_until_crlf/1\u003c/code\u003e, so the accepted grammar is a run of hex digits followed by arbitrary bytes, where RFC 9112 permits only a \u003ccode\u003e;\u003c/code\u003e-introduced chunk extension. Lines such as \u003ccode\u003e5ZZZZZ\u003c/code\u003e and \u003ccode\u003e5 9\u003c/code\u003e are accepted as chunk size 5, and \u003ccode\u003e0ZZZZ\u003c/code\u003e is accepted as the terminating chunk that ends the message body. An RFC-strict intermediary rejects such a line while Mint accepts it, so the two disagree on chunk boundaries and on where the response ends.\u003c/p\u003e\n\u003cp\u003eThis issue affects mint: from 0.1.0 before 1.10.1.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Inconsistent Interpretation of HTTP Requests (\u0027HTTP Request/Response Smuggling\u0027) vulnerability in elixir-mint mint allows a malicious HTTP/1 server to desynchronize a strict intermediary and the Mint client on a pooled connection, enabling response-queue poisoning against subsequent requests that share the connection.\n\n`Mint.HTTP1.Parse.chunk_size/1` in `lib/mint/http1/parse.ex` stops at the first non-hexadecimal byte of a chunked response\u0027s chunk-size line and returns the remainder unexamined. `Mint.HTTP1.decode_body/5` in `lib/mint/http1.ex` then discards every byte up to the CRLF with `Parse.ignore_until_crlf/1`, so the accepted grammar is a run of hex digits followed by arbitrary bytes, where RFC 9112 permits only a `;`-introduced chunk extension. Lines such as `5ZZZZZ` and `5 9` are accepted as chunk size 5, and `0ZZZZ` is accepted as the terminating chunk that ends the message body. An RFC-strict intermediary rejects such a line while Mint accepts it, so the two disagree on chunk boundaries and on where the response ends.\n\nThis issue affects mint: from 0.1.0 before 1.10.1."
                }
              ],
              "value": "Inconsistent Interpretation of HTTP Requests (\u0027HTTP Request/Response Smuggling\u0027) vulnerability in elixir-mint mint allows a malicious HTTP/1 server to desynchronize a strict intermediary and the Mint client on a pooled connection, enabling response-queue poisoning against subsequent requests that share the connection.\n\nMint.HTTP1.Parse.chunk_size/1 in lib/mint/http1/parse.ex stops at the first non-hexadecimal byte of a chunked response\u0027s chunk-size line and returns the remainder unexamined. Mint.HTTP1.decode_body/5 in lib/mint/http1.ex then discards every byte up to the CRLF with Parse.ignore_until_crlf/1, so the accepted grammar is a run of hex digits followed by arbitrary bytes, where RFC 9112 permits only a ;-introduced chunk extension. Lines such as 5ZZZZZ and 5 9 are accepted as chunk size 5, and 0ZZZZ is accepted as the terminating chunk that ends the message body. An RFC-strict intermediary rejects such a line while Mint accepts it, so the two disagree on chunk boundaries and on where the response ends.\n\nThis issue affects mint: from 0.1.0 before 1.10.1."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-273",
              "descriptions": [
                {
                  "lang": "en",
                  "supportingMedia": [
                    {
                      "base64": false,
                      "type": "text/html",
                      "value": "\u003cp\u003eA malicious or attacker-influenced HTTP/1 origin behind an RFC-strict intermediary can make the intermediary and the Mint client disagree on chunk boundaries and on where the response body ends. On a pooled keep-alive connection that disagreement lets bytes from one response be attributed to the next, poisoning the responses returned to unrelated requests that share the connection.\u003c/p\u003e"
                    },
                    {
                      "base64": false,
                      "type": "text/markdown",
                      "value": "A malicious or attacker-influenced HTTP/1 origin behind an RFC-strict intermediary can make the intermediary and the Mint client disagree on chunk boundaries and on where the response body ends. On a pooled keep-alive connection that disagreement lets bytes from one response be attributed to the next, poisoning the responses returned to unrelated requests that share the connection."
                    }
                  ],
                  "value": "A malicious or attacker-influenced HTTP/1 origin behind an RFC-strict intermediary can make the intermediary and the Mint client disagree on chunk boundaries and on where the response body ends. On a pooled keep-alive connection that disagreement lets bytes from one response be attributed to the next, poisoning the responses returned to unrelated requests that share the connection."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 6.3,
                "baseSeverity": "MEDIUM",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "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",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "LOW",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-444",
                  "description": "CWE-444 Inconsistent Interpretation of HTTP Requests (\u0027HTTP Request/Response Smuggling\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-19T17:00:31.648Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "name": "GitHub Advisory",
              "tags": [
                "related",
                "vendor-advisory"
              ],
              "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-rj5m-69wp-cxq9"
            },
            {
              "name": "EEF CNA record for CVE-2026-82672",
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-82672.html"
            },
            {
              "name": "OSV record EEF-CVE-2026-82672",
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-82672"
            },
            {
              "name": "Introducing commit 6008958 in elixir-mint/mint",
              "tags": [
                "related"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/60089586ec7adc9fddb09f69a2f5919ba9ac7f33"
            },
            {
              "name": "Fix commit c823778 in elixir-mint/mint",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/c82377838dc6e275ef40bafa664fbcdf50270c60"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unvalidated chunk-size line tail in Mint HTTP/1 client enables response smuggling against strict intermediaries on pooled connections",
          "x_proofOfConcept": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003col\u003e\n\u003cli\u003eStart a loopback TCP server that serves one \u003ccode\u003eHTTP/1.1 200 OK\u003c/code\u003e response with \u003ccode\u003etransfer-encoding: chunked\u003c/code\u003e and controls the chunk-size line byte for byte.\u003c/li\u003e\n\u003cli\u003eConnect with \u003ccode\u003eMint.HTTP1\u003c/code\u003e (mint 1.10.0 from Hex), send a request and stream the response.\u003c/li\u003e\n\u003cli\u003ePositive controls: chunk-size lines \u003ccode\u003e+5\u003c/code\u003e, \u003ccode\u003eZ5\u003c/code\u003e and \u003ccode\u003e00000000000000005\u003c/code\u003e are refused with \u003ccode\u003e:invalid_chunk_size\u003c/code\u003e, confirming the build carries the earlier chunk-size fixes.\u003c/li\u003e\n\u003cli\u003eBaseline: \u003ccode\u003e5\u003c/code\u003e and \u003ccode\u003e5;name=value\u003c/code\u003e are accepted with body \u003ccode\u003ehello\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFinding: \u003ccode\u003e5ZZZZZ\u003c/code\u003e, \u003ccode\u003e5 anything at all\u003c/code\u003e, \u003ccode\u003e5\u0026lt;TAB\u0026gt;foo\u003c/code\u003e, \u003ccode\u003e5 9\u003c/code\u003e and \u003ccode\u003e5}~!\u003c/code\u003e are each accepted as chunk size 5 with body \u003ccode\u003ehello\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eTerminator: \u003ccode\u003e0ZZZZ\u003c/code\u003e and \u003ccode\u003e0 9\u003c/code\u003e in place of the final \u003ccode\u003e0\u003c/code\u003e chunk are accepted and end the body.\u003c/li\u003e\n\u003cli\u003eContrast: \u003ccode\u003eContent-Length: +5\u003c/code\u003e, \u003ccode\u003eContent-Length: 5ZZZ\u003c/code\u003e and \u003ccode\u003eContent-Length: 5 9\u003c/code\u003e are refused with \u003ccode\u003e:invalid_content_length_header\u003c/code\u003e in the same run.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eThe reporter ran this on Elixir 1.18 / OTP 27 and Elixir 1.18.4 / OTP 28 with identical results.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "1. Start a loopback TCP server that serves one `HTTP/1.1 200 OK` response with `transfer-encoding: chunked` and controls the chunk-size line byte for byte.\n2. Connect with `Mint.HTTP1` (mint 1.10.0 from Hex), send a request and stream the response.\n3. Positive controls: chunk-size lines `+5`, `Z5` and `00000000000000005` are refused with `:invalid_chunk_size`, confirming the build carries the earlier chunk-size fixes.\n4. Baseline: `5` and `5;name=value` are accepted with body `hello`.\n5. Finding: `5ZZZZZ`, `5 anything at all`, `5\u003cTAB\u003efoo`, `5 9` and `5}~!` are each accepted as chunk size 5 with body `hello`.\n6. Terminator: `0ZZZZ` and `0 9` in place of the final `0` chunk are accepted and end the body.\n7. Contrast: `Content-Length: +5`, `Content-Length: 5ZZZ` and `Content-Length: 5 9` are refused with `:invalid_content_length_header` in the same run.\n\nThe reporter ran this on Elixir 1.18 / OTP 27 and Elixir 1.18.4 / OTP 28 with identical results."
                }
              ],
              "value": "* Start a loopback TCP server that serves one HTTP/1.1 200 OK response with transfer-encoding: chunked and controls the chunk-size line byte for byte.\n* Connect with Mint.HTTP1 (mint 1.10.0 from Hex), send a request and stream the response.\n* Positive controls: chunk-size lines +5, Z5 and 00000000000000005 are refused with :invalid_chunk_size, confirming the build carries the earlier chunk-size fixes.\n* Baseline: 5 and 5;name=value are accepted with body hello.\n* Finding: 5ZZZZZ, 5 anything at all, 5\u003cTAB\u003efoo, 5 9 and 5}~! are each accepted as chunk size 5 with body hello.\n* Terminator: 0ZZZZ and 0 9 in place of the final 0 chunk are accepted and end the body.\n* Contrast: Content-Length: +5, Content-Length: 5ZZZ and Content-Length: 5 9 are refused with :invalid_content_length_header in the same run.\n\nThe reporter ran this on Elixir 1.18 / OTP 27 and Elixir 1.18.4 / OTP 28 with identical results."
            }
          ],
          "x_technicalAnalysis": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003e\u003cstrong\u003e1. Chunk-size parsing.\u003c/strong\u003e \u003ccode\u003eMint.HTTP1.Parse.chunk_size/1\u003c/code\u003e in \u003ccode\u003elib/mint/http1/parse.ex\u003c/code\u003e folds leading hexadecimal digits into an accumulator through \u003ccode\u003eparse_hex_prefix/3\u003c/code\u003e and, on the first byte that is not a hex digit, returns \u003ccode\u003e{:ok, size, rest}\u003c/code\u003e with \u003ccode\u003erest\u003c/code\u003e unexamined. The sign and digit-count checks added by earlier fixes constrain only the digits.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Tail skipping.\u003c/strong\u003e The caller, \u003ccode\u003eMint.HTTP1.decode_body/5\u003c/code\u003e in \u003ccode\u003elib/mint/http1.ex\u003c/code\u003e, hands \u003ccode\u003erest\u003c/code\u003e to \u003ccode\u003eParse.ignore_until_crlf/1\u003c/code\u003e, which advances over any byte until it finds CRLF. Nothing between the last hex digit and the CRLF is validated, so the accepted grammar is \u003ccode\u003e1*HEXDIG *OCTET CRLF\u003c/code\u003e, where RFC 9112 section 7.1 allows only an optional \u003ccode\u003e;\u003c/code\u003e-introduced \u003ccode\u003echunk-ext\u003c/code\u003e. The same tolerance applies to the terminating zero-length chunk, which is the token that ends the message body.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. Parser disagreement.\u003c/strong\u003e The sibling \u003ccode\u003eContent-Length\u003c/code\u003e parser, \u003ccode\u003eMint.HTTP1.Parse.content_length_header/1\u003c/code\u003e, trims trailing whitespace and requires the whole remaining value to be digits, rejecting anything else. An RFC-strict intermediary that rejects or reframes a chunk-size line with a non-extension tail, on a connection where Mint accepts it, yields a framing disagreement about chunk length and, through the terminating chunk, about where the message ends.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "**1. Chunk-size parsing.** `Mint.HTTP1.Parse.chunk_size/1` in `lib/mint/http1/parse.ex` folds leading hexadecimal digits into an accumulator through `parse_hex_prefix/3` and, on the first byte that is not a hex digit, returns `{:ok, size, rest}` with `rest` unexamined. The sign and digit-count checks added by earlier fixes constrain only the digits.\n\n**2. Tail skipping.** The caller, `Mint.HTTP1.decode_body/5` in `lib/mint/http1.ex`, hands `rest` to `Parse.ignore_until_crlf/1`, which advances over any byte until it finds CRLF. Nothing between the last hex digit and the CRLF is validated, so the accepted grammar is `1*HEXDIG *OCTET CRLF`, where RFC 9112 section 7.1 allows only an optional `;`-introduced `chunk-ext`. The same tolerance applies to the terminating zero-length chunk, which is the token that ends the message body.\n\n**3. Parser disagreement.** The sibling `Content-Length` parser, `Mint.HTTP1.Parse.content_length_header/1`, trims trailing whitespace and requires the whole remaining value to be digits, rejecting anything else. An RFC-strict intermediary that rejects or reframes a chunk-size line with a non-extension tail, on a connection where Mint accepts it, yields a framing disagreement about chunk length and, through the terminating chunk, about where the message ends."
                }
              ],
              "value": "1. Chunk-size parsing. Mint.HTTP1.Parse.chunk_size/1 in lib/mint/http1/parse.ex folds leading hexadecimal digits into an accumulator through parse_hex_prefix/3 and, on the first byte that is not a hex digit, returns {:ok, size, rest} with rest unexamined. The sign and digit-count checks added by earlier fixes constrain only the digits.\n\n2. Tail skipping. The caller, Mint.HTTP1.decode_body/5 in lib/mint/http1.ex, hands rest to Parse.ignore_until_crlf/1, which advances over any byte until it finds CRLF. Nothing between the last hex digit and the CRLF is validated, so the accepted grammar is 1*HEXDIG *OCTET CRLF, where RFC 9112 section 7.1 allows only an optional ;-introduced chunk-ext. The same tolerance applies to the terminating zero-length chunk, which is the token that ends the message body.\n\n3. Parser disagreement. The sibling Content-Length parser, Mint.HTTP1.Parse.content_length_header/1, trims trailing whitespace and requires the whole remaining value to be digits, rejecting anything else. An RFC-strict intermediary that rejects or reframes a chunk-size line with a non-extension tail, on a connection where Mint accepts it, yields a framing disagreement about chunk length and, through the terminating chunk, about where the message ends."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-82672",
        "datePublished": "2026-09-19T17:00:31.648Z",
        "dateReserved": "2026-09-17T05:30:01.748Z",
        "dateUpdated": "2026-09-19T17:00:31.648Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-82728 (GCVE-0-2026-82728)

    Vulnerability from cvelistv5 – Published: 2026-09-04 14:31 – Updated: 2026-09-04 19:32
    VLAI
    Title
    Unbounded HTTP/1 status-line and chunk-extension buffering in Mint causes memory-exhaustion DoS
    Summary
    Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service. Two HTTP/1 response-parser states accumulate server data without any cap. In lib/mint/http1.ex, decode_status_line/4 stores the unconsumed data in conn.buffer when the status line is incomplete, and decode_body/5 does the same for an unterminated chunk-extension line. Both wait for a CRLF the server never has to send, and conn.buffer is prepended to every subsequent socket message. The :max_header_list_size budget is wired only into decode_headers/5 and decode_trailer_headers/4, so neither of these states is covered by it. A malicious server, or one reached through an attacker-controlled redirect or a fetched URL, streams bytes indefinitely until the BEAM node is killed by the operating system out-of-memory handler. The chunk-extension variant is reached after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response. This issue affects mint: from 0.1.0 before 1.10.0.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-04 19:32 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.1.0 , < 1.10.0 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: c088e4b6430545338841ab8d294369e45d39856a , < 19be5558b6a317e271c78666498dd78b151e490a (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-82728",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-04T19:32:07.642690Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-04T19:32:44.727Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-g83f-2j6r-q6m4"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_status_line/4"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1.10.0",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_status_line/4"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "19be5558b6a317e271c78666498dd78b151e490a",
                  "status": "affected",
                  "version": "c088e4b6430545338841ab8d294369e45d39856a",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "1.10.0",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Tr3bor"
            },
            {
              "lang": "en",
              "type": "reporter",
              "value": "Tr3bor"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Andrea Leopardi"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAllocation of Resources Without Limits or Throttling vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service.\u003c/p\u003e\n\u003cp\u003eTwo HTTP/1 response-parser states accumulate server data without any cap. In \u003ccode\u003elib/mint/http1.ex\u003c/code\u003e, \u003ccode\u003edecode_status_line/4\u003c/code\u003e stores the unconsumed data in \u003ccode\u003econn.buffer\u003c/code\u003e when the status line is incomplete, and \u003ccode\u003edecode_body/5\u003c/code\u003e does the same for an unterminated chunk-extension line. Both wait for a CRLF the server never has to send, and \u003ccode\u003econn.buffer\u003c/code\u003e is prepended to every subsequent socket message. The \u003ccode\u003e:max_header_list_size\u003c/code\u003e budget is wired only into \u003ccode\u003edecode_headers/5\u003c/code\u003e and \u003ccode\u003edecode_trailer_headers/4\u003c/code\u003e, so neither of these states is covered by it. A malicious server, or one reached through an attacker-controlled redirect or a fetched URL, streams bytes indefinitely until the BEAM node is killed by the operating system out-of-memory handler. The chunk-extension variant is reached after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response.\u003c/p\u003e\n\u003cp\u003eThis issue affects mint: from 0.1.0 before 1.10.0.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service.\n\nTwo HTTP/1 response-parser states accumulate server data without any cap. In `lib/mint/http1.ex`, `decode_status_line/4` stores the unconsumed data in `conn.buffer` when the status line is incomplete, and `decode_body/5` does the same for an unterminated chunk-extension line. Both wait for a CRLF the server never has to send, and `conn.buffer` is prepended to every subsequent socket message. The `:max_header_list_size` budget is wired only into `decode_headers/5` and `decode_trailer_headers/4`, so neither of these states is covered by it. A malicious server, or one reached through an attacker-controlled redirect or a fetched URL, streams bytes indefinitely until the BEAM node is killed by the operating system out-of-memory handler. The chunk-extension variant is reached after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response.\n\nThis issue affects mint: from 0.1.0 before 1.10.0."
                }
              ],
              "value": "Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service.\n\nTwo HTTP/1 response-parser states accumulate server data without any cap. In lib/mint/http1.ex, decode_status_line/4 stores the unconsumed data in conn.buffer when the status line is incomplete, and decode_body/5 does the same for an unterminated chunk-extension line. Both wait for a CRLF the server never has to send, and conn.buffer is prepended to every subsequent socket message. The :max_header_list_size budget is wired only into decode_headers/5 and decode_trailer_headers/4, so neither of these states is covered by it. A malicious server, or one reached through an attacker-controlled redirect or a fetched URL, streams bytes indefinitely until the BEAM node is killed by the operating system out-of-memory handler. The chunk-extension variant is reached after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response.\n\nThis issue affects mint: from 0.1.0 before 1.10.0."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-130 Excessive Allocation"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-04T14:31:30.059Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory",
                "related"
              ],
              "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-g83f-2j6r-q6m4"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-82728.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-82728"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/19be5558b6a317e271c78666498dd78b151e490a"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unbounded HTTP/1 status-line and chunk-extension buffering in Mint causes memory-exhaustion DoS"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-82728",
        "datePublished": "2026-09-04T14:31:30.059Z",
        "dateReserved": "2026-08-31T00:59:08.960Z",
        "dateUpdated": "2026-09-04T19:32:44.727Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-82729 (GCVE-0-2026-82729)

    Vulnerability from cvelistv5 – Published: 2026-09-04 14:31 – Updated: 2026-09-04 19:33
    VLAI
    Title
    Quadratic chunk-size parsing in Mint.HTTP1.Parse allows CPU-exhaustion DoS
    Summary
    Inefficient Algorithmic Complexity vulnerability in elixir-mint mint allows a remote HTTP server to exhaust CPU on the client host and cause a denial of service. parse_hex_prefix/2 in lib/mint/http1/parse.ex folds each hex digit of a chunked response's chunk-size field into an arbitrary-precision accumulator with acc * 16 + digit and imposes no limit on the digit count. Because the accumulator grows without bound, the multiplication is not constant time and one pass over N digits costs O(N squared). handle_data/2 prepends conn.buffer and re-parses from the start on every socket message, so a server that dribbles the digits out in small packets makes the client pay that cost repeatedly. A run of roughly 512,000 hex digits costs over ten seconds of CPU in a single pass, measured on stock defaults. The parser reaches this state after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response. This issue affects mint: from 1.9.3 before 1.10.0.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-04 19:33 UTC
    CWE
    • CWE-407 - Inefficient Algorithmic Complexity
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 1.9.3 , < 1.10.0 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: fc7d16538db7e40b56ed489f08683225cb0197fa , < bd2a4e7513594997c140cfef9fe0e968712fb588 (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-82729",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-04T19:33:08.928597Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-04T19:33:32.398Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-7p8w-j234-7qc8"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1.Parse\u0027",
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1/parse.ex",
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Parse\u0027:chunk_size/1"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1.10.0",
                  "status": "affected",
                  "version": "1.9.3",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1.Parse\u0027",
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1/parse.ex",
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Parse\u0027:chunk_size/1"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "bd2a4e7513594997c140cfef9fe0e968712fb588",
                  "status": "affected",
                  "version": "fc7d16538db7e40b56ed489f08683225cb0197fa",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "1.10.0",
                      "versionStartIncluding": "1.9.3",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Tr3bor"
            },
            {
              "lang": "en",
              "type": "reporter",
              "value": "Tr3bor"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Andrea Leopardi"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eInefficient Algorithmic Complexity vulnerability in elixir-mint mint allows a remote HTTP server to exhaust CPU on the client host and cause a denial of service.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eparse_hex_prefix/2\u003c/code\u003e in \u003ccode\u003elib/mint/http1/parse.ex\u003c/code\u003e folds each hex digit of a chunked response\u0027s chunk-size field into an arbitrary-precision accumulator with \u003ccode\u003eacc * 16 + digit\u003c/code\u003e and imposes no limit on the digit count. Because the accumulator grows without bound, the multiplication is not constant time and one pass over \u003ccode\u003eN\u003c/code\u003e digits costs O(N squared). \u003ccode\u003ehandle_data/2\u003c/code\u003e prepends \u003ccode\u003econn.buffer\u003c/code\u003e and re-parses from the start on every socket message, so a server that dribbles the digits out in small packets makes the client pay that cost repeatedly. A run of roughly 512,000 hex digits costs over ten seconds of CPU in a single pass, measured on stock defaults. The parser reaches this state after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response.\u003c/p\u003e\n\u003cp\u003eThis issue affects mint: from 1.9.3 before 1.10.0.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Inefficient Algorithmic Complexity vulnerability in elixir-mint mint allows a remote HTTP server to exhaust CPU on the client host and cause a denial of service.\n\n`parse_hex_prefix/2` in `lib/mint/http1/parse.ex` folds each hex digit of a chunked response\u0027s chunk-size field into an arbitrary-precision accumulator with `acc * 16 + digit` and imposes no limit on the digit count. Because the accumulator grows without bound, the multiplication is not constant time and one pass over `N` digits costs O(N squared). `handle_data/2` prepends `conn.buffer` and re-parses from the start on every socket message, so a server that dribbles the digits out in small packets makes the client pay that cost repeatedly. A run of roughly 512,000 hex digits costs over ten seconds of CPU in a single pass, measured on stock defaults. The parser reaches this state after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response.\n\nThis issue affects mint: from 1.9.3 before 1.10.0."
                }
              ],
              "value": "Inefficient Algorithmic Complexity vulnerability in elixir-mint mint allows a remote HTTP server to exhaust CPU on the client host and cause a denial of service.\n\nparse_hex_prefix/2 in lib/mint/http1/parse.ex folds each hex digit of a chunked response\u0027s chunk-size field into an arbitrary-precision accumulator with acc * 16 + digit and imposes no limit on the digit count. Because the accumulator grows without bound, the multiplication is not constant time and one pass over N digits costs O(N squared). handle_data/2 prepends conn.buffer and re-parses from the start on every socket message, so a server that dribbles the digits out in small packets makes the client pay that cost repeatedly. A run of roughly 512,000 hex digits costs over ten seconds of CPU in a single pass, measured on stock defaults. The parser reaches this state after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response.\n\nThis issue affects mint: from 1.9.3 before 1.10.0."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-130 Excessive Allocation"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 6.3,
                "baseSeverity": "MEDIUM",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "LOW",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-407",
                  "description": "CWE-407 Inefficient Algorithmic Complexity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-04T14:31:20.562Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "related",
                "vendor-advisory"
              ],
              "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-7p8w-j234-7qc8"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-82729.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-82729"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/bd2a4e7513594997c140cfef9fe0e968712fb588"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Quadratic chunk-size parsing in Mint.HTTP1.Parse allows CPU-exhaustion DoS"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-82729",
        "datePublished": "2026-09-04T14:31:20.562Z",
        "dateReserved": "2026-08-31T00:59:08.960Z",
        "dateUpdated": "2026-09-04T19:33:32.398Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59249 (GCVE-0-2026-59249)

    Vulnerability from cvelistv5 – Published: 2026-07-16 11:39 – Updated: 2026-07-17 10:11
    VLAI
    Title
    Sign-tolerant HTTP/1 chunk-size parser in Mint enables response smuggling against strict intermediaries on pooled connections
    Summary
    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.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-16 12:37 UTC
    CWE
    • CWE-444 - Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.1.0 , < 1.9.3 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: 60089586ec7adc9fddb09f69a2f5919ba9ac7f33 , < fc7d16538db7e40b56ed489f08683225cb0197fa (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-59249",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-16T12:37:52.637521Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-16T12:38:16.316Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-x3x7-96vm-6h2w"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1.9.3",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "fc7d16538db7e40b56ed489f08683225cb0197fa",
                  "status": "affected",
                  "version": "60089586ec7adc9fddb09f69a2f5919ba9ac7f33",
                  "versionType": "git"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eExploitation requires a deployment topology in which an RFC-strict HTTP/1 intermediary (proxy, load balancer, or WAF) sits between the Mint client and the attacker-influenced origin, and HTTP/1 connections between the client and the intermediary are reused across requests (keep-alive with connection pooling). Mint clients that talk directly to an origin without an intermediary, or that do not reuse connections, are not exploitable for response-queue poisoning even if the vulnerable parsing behavior is present.\u003c/p\u003e"
                }
              ],
              "value": "Exploitation requires a deployment topology in which an RFC-strict HTTP/1 intermediary (proxy, load balancer, or WAF) sits between the Mint client and the attacker-influenced origin, and HTTP/1 connections between the client and the intermediary are reused across requests (keep-alive with connection pooling). Mint clients that talk directly to an origin without an intermediary, or that do not reuse connections, are not exploitable for response-queue poisoning even if the vulnerable parsing behavior is present."
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "1.9.3",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Thepigtails"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Andrea Leopardi"
            },
            {
              "lang": "en",
              "type": "remediation reviewer",
              "value": "Eric Meadows-J\u00f6nsson"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eInconsistent 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.\u003c/p\u003e\u003cp\u003eThe \u003ctt\u003eMint.HTTP1.decode_body/5\u003c/tt\u003e function in \u003ctt\u003elib/mint/http1.ex\u003c/tt\u003e parses the chunk-size line of a \u003ctt\u003eTransfer-Encoding: chunked\u003c/tt\u003e response with \u003ctt\u003eInteger.parse(data, 16)\u003c/tt\u003e. RFC 7230 defines \u003ctt\u003echunk-size = 1*HEXDIG\u003c/tt\u003e and forbids any sign prefix, but \u003ctt\u003eInteger.parse/2\u003c/tt\u003e accepts an optional leading \u003ctt\u003e+\u003c/tt\u003e or \u003ctt\u003e-\u003c/tt\u003e. A chunk-size line of \u003ctt\u003e+5\u003c/tt\u003e is accepted as a five-byte chunk; lines of \u003ctt\u003e+0\u003c/tt\u003e and \u003ctt\u003e-0\u003c/tt\u003e are accepted as the terminating zero-length chunk and end the message body early.\u003c/p\u003e\u003cp\u003eAn 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.\u003c/p\u003e\u003cp\u003eThis issue affects mint: from 0.1.0 before 1.9.3.\u003c/p\u003e"
                }
              ],
              "value": "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.\n\nThe 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.\n\nAn 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.\n\nThis issue affects mint: from 0.1.0 before 1.9.3."
            }
          ],
          "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": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "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",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "LOW"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-444",
                  "description": "CWE-444 Inconsistent Interpretation of HTTP Requests (\u0027HTTP Request/Response Smuggling\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-17T10:11:36.783Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory",
                "related"
              ],
              "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-x3x7-96vm-6h2w"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-59249.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-59249"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/fc7d16538db7e40b56ed489f08683225cb0197fa"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Sign-tolerant HTTP/1 chunk-size parser in Mint enables response smuggling against strict intermediaries on pooled connections",
          "x_generator": {
            "engine": "cvelib 1.8.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-59249",
        "datePublished": "2026-07-16T11:39:29.939Z",
        "dateReserved": "2026-07-04T04:24:03.652Z",
        "dateUpdated": "2026-07-17T10:11:36.783Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59246 (GCVE-0-2026-59246)

    Vulnerability from cvelistv5 – Published: 2026-07-14 08:37 – Updated: 2026-07-14 15:08
    VLAI
    Title
    Zero-length HTTP/2 CONTINUATION frames bypass Mint's header-block byte-size cap and exhaust client memory
    Summary
    Allocation of resources without limits vulnerability in elixir-mint mint allows a remote HTTP/2 server to exhaust memory on the client host and cause a denial of service. The Mint.HTTP2.handle_continuation/3 function in lib/mint/http2.ex accumulates the header-block fragment carried by each HTTP/2 CONTINUATION frame into a growing conn.headers_being_processed nesting, one level deeper per frame, and only releases it when a frame with the END_HEADERS flag arrives. The only guard on this accumulator is Mint.HTTP2.assert_header_block_within_max_size/2, which sums the byte size of the fragments received so far. Because a CONTINUATION frame is permitted by the protocol to carry a zero-length payload, an unbounded chain of zero-length CONTINUATION frames adds no bytes to the running total, never trips the size cap, and never emits END_HEADERS, yet each frame still nests the accumulator one level deeper. A malicious HTTP/2 server (reachable directly, via an attacker-controlled redirect, via SSRF, or via a man-in-the-middle) can open a stream by sending a HEADERS frame without END_HEADERS and then stream zero-length CONTINUATION frames indefinitely. Client memory grows one cons cell per frame received; sustained bandwidth from the peer drives the BEAM node running the Mint client to memory exhaustion and eventual out-of-memory termination. This issue affects mint: from 0.1.0 before 1.9.2.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-14 12:25 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.1.0 , < 1.9.2 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: 596ca4304504be68939c4929e0831557097962b8 , < 5779de1666344b32aefc4354184ea07f902f73ce (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-59246",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-14T12:25:59.949476Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-14T12:26:05.211Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-8pf6-g464-h6h9"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP2\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http2.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:handle_continuation/3"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:assert_header_block_within_max_size/2"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1.9.2",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP2\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http2.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:handle_continuation/3"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:assert_header_block_within_max_size/2"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "5779de1666344b32aefc4354184ea07f902f73ce",
                  "status": "affected",
                  "version": "596ca4304504be68939c4929e0831557097962b8",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "1.9.2",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "zx (Jace)"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Andrea Leopardi"
            },
            {
              "lang": "en",
              "type": "remediation reviewer",
              "value": "Eric Meadows-J\u00f6nsson"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAllocation of resources without limits vulnerability in elixir-mint mint allows a remote HTTP/2 server to exhaust memory on the client host and cause a denial of service.\u003c/p\u003e\u003cp\u003eThe \u003ctt\u003eMint.HTTP2.handle_continuation/3\u003c/tt\u003e function in \u003ctt\u003elib/mint/http2.ex\u003c/tt\u003e accumulates the header-block fragment carried by each HTTP/2 \u003ctt\u003eCONTINUATION\u003c/tt\u003e frame into a growing \u003ctt\u003econn.headers_being_processed\u003c/tt\u003e nesting, one level deeper per frame, and only releases it when a frame with the \u003ctt\u003eEND_HEADERS\u003c/tt\u003e flag arrives. The only guard on this accumulator is \u003ctt\u003eMint.HTTP2.assert_header_block_within_max_size/2\u003c/tt\u003e, which sums the byte size of the fragments received so far. Because a \u003ctt\u003eCONTINUATION\u003c/tt\u003e frame is permitted by the protocol to carry a zero-length payload, an unbounded chain of zero-length \u003ctt\u003eCONTINUATION\u003c/tt\u003e frames adds no bytes to the running total, never trips the size cap, and never emits \u003ctt\u003eEND_HEADERS\u003c/tt\u003e, yet each frame still nests the accumulator one level deeper.\u003c/p\u003e\u003cp\u003eA malicious HTTP/2 server (reachable directly, via an attacker-controlled redirect, via SSRF, or via a man-in-the-middle) can open a stream by sending a \u003ctt\u003eHEADERS\u003c/tt\u003e frame without \u003ctt\u003eEND_HEADERS\u003c/tt\u003e and then stream zero-length \u003ctt\u003eCONTINUATION\u003c/tt\u003e frames indefinitely. Client memory grows one cons cell per frame received; sustained bandwidth from the peer drives the BEAM node running the Mint client to memory exhaustion and eventual out-of-memory termination.\u003c/p\u003e\u003cp\u003eThis issue affects mint: from 0.1.0 before 1.9.2.\u003c/p\u003e"
                }
              ],
              "value": "Allocation of resources without limits vulnerability in elixir-mint mint allows a remote HTTP/2 server to exhaust memory on the client host and cause a denial of service.\n\nThe Mint.HTTP2.handle_continuation/3 function in lib/mint/http2.ex accumulates the header-block fragment carried by each HTTP/2 CONTINUATION frame into a growing conn.headers_being_processed nesting, one level deeper per frame, and only releases it when a frame with the END_HEADERS flag arrives. The only guard on this accumulator is Mint.HTTP2.assert_header_block_within_max_size/2, which sums the byte size of the fragments received so far. Because a CONTINUATION frame is permitted by the protocol to carry a zero-length payload, an unbounded chain of zero-length CONTINUATION frames adds no bytes to the running total, never trips the size cap, and never emits END_HEADERS, yet each frame still nests the accumulator one level deeper.\n\nA malicious HTTP/2 server (reachable directly, via an attacker-controlled redirect, via SSRF, or via a man-in-the-middle) can open a stream by sending a HEADERS frame without END_HEADERS and then stream zero-length CONTINUATION frames indefinitely. Client memory grows one cons cell per frame received; sustained bandwidth from the peer drives the BEAM node running the Mint client to memory exhaustion and eventual out-of-memory termination.\n\nThis issue affects mint: from 0.1.0 before 1.9.2."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-130 Excessive Allocation"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 6.3,
                "baseSeverity": "MEDIUM",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "LOW",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-14T15:08:39.463Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory",
                "related"
              ],
              "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-8pf6-g464-h6h9"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-59246.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-59246"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/5779de1666344b32aefc4354184ea07f902f73ce"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Zero-length HTTP/2 CONTINUATION frames bypass Mint\u0027s header-block byte-size cap and exhaust client memory",
          "x_generator": {
            "engine": "cvelib 1.8.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-59246",
        "datePublished": "2026-07-14T08:37:04.609Z",
        "dateReserved": "2026-07-04T04:24:03.652Z",
        "dateUpdated": "2026-07-14T15:08:39.463Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-58229 (GCVE-0-2026-58229)

    Vulnerability from cvelistv5 – Published: 2026-07-14 08:36 – Updated: 2026-07-14 15:07
    VLAI
    Title
    Unbounded HTTP/1 response-header and chunked-trailer accumulation in Mint causes memory-exhaustion DoS
    Summary
    Allocation of resources without limits vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service. The Mint.HTTP1.decode_headers/5 and Mint.HTTP1.decode_trailer_headers/4 functions in lib/mint/http1.ex accumulate every parsed response header and chunked-trailer field into a per-request list that persists across incoming TCP segments as request.headers_buffer, and only clear it when the terminating blank line is received. The section has no cap on the number of headers or on total bytes, and the underlying :erlang.decode_packet(:httph_bin, binary, []) parser is invoked with an empty option list so its per-line and per-packet size limits also default to unlimited. A malicious HTTP server (reachable directly, via an attacker-controlled redirect, via SSRF, or via a man-in-the-middle) can stream complete header lines (or, after a chunked body, complete trailer lines) indefinitely without ever emitting the terminating blank line. The connection state grows without bound until the BEAM node is killed by the operating system's out-of-memory handler, taking down the entire application that uses Mint as an HTTP client. This issue affects mint: from 0.1.0 before 1.9.2.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-14 12:27 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.1.0 , < 1.9.2 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: 3e6de4bac4821b0eb4d6109e8b1f3fb6458792c8 , < 566d702e6f29105f77522ca7aabb9f64f2f4e333 (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-58229",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-14T12:27:10.055823Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-14T12:27:15.737Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-qrfr-wh4c-3qhw"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_headers/5"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_trailer_headers/4"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1.9.2",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_headers/5"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_trailer_headers/4"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "566d702e6f29105f77522ca7aabb9f64f2f4e333",
                  "status": "affected",
                  "version": "3e6de4bac4821b0eb4d6109e8b1f3fb6458792c8",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "1.9.2",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "zx (Jace)"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Andrea Leopardi"
            },
            {
              "lang": "en",
              "type": "remediation reviewer",
              "value": "Eric Meadows-J\u00f6nsson"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAllocation of resources without limits vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service.\u003c/p\u003e\u003cp\u003eThe \u003ctt\u003eMint.HTTP1.decode_headers/5\u003c/tt\u003e and \u003ctt\u003eMint.HTTP1.decode_trailer_headers/4\u003c/tt\u003e functions in \u003ctt\u003elib/mint/http1.ex\u003c/tt\u003e accumulate every parsed response header and chunked-trailer field into a per-request list that persists across incoming TCP segments as \u003ctt\u003erequest.headers_buffer\u003c/tt\u003e, and only clear it when the terminating blank line is received. The section has no cap on the number of headers or on total bytes, and the underlying \u003ctt\u003e:erlang.decode_packet(:httph_bin, binary, [])\u003c/tt\u003e parser is invoked with an empty option list so its per-line and per-packet size limits also default to unlimited.\u003c/p\u003e\u003cp\u003eA malicious HTTP server (reachable directly, via an attacker-controlled redirect, via SSRF, or via a man-in-the-middle) can stream complete header lines (or, after a chunked body, complete trailer lines) indefinitely without ever emitting the terminating blank line. The connection state grows without bound until the BEAM node is killed by the operating system\u0027s out-of-memory handler, taking down the entire application that uses Mint as an HTTP client.\u003c/p\u003e\u003cp\u003eThis issue affects mint: from 0.1.0 before 1.9.2.\u003c/p\u003e"
                }
              ],
              "value": "Allocation of resources without limits vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service.\n\nThe Mint.HTTP1.decode_headers/5 and Mint.HTTP1.decode_trailer_headers/4 functions in lib/mint/http1.ex accumulate every parsed response header and chunked-trailer field into a per-request list that persists across incoming TCP segments as request.headers_buffer, and only clear it when the terminating blank line is received. The section has no cap on the number of headers or on total bytes, and the underlying :erlang.decode_packet(:httph_bin, binary, []) parser is invoked with an empty option list so its per-line and per-packet size limits also default to unlimited.\n\nA malicious HTTP server (reachable directly, via an attacker-controlled redirect, via SSRF, or via a man-in-the-middle) can stream complete header lines (or, after a chunked body, complete trailer lines) indefinitely without ever emitting the terminating blank line. The connection state grows without bound until the BEAM node is killed by the operating system\u0027s out-of-memory handler, taking down the entire application that uses Mint as an HTTP client.\n\nThis issue affects mint: from 0.1.0 before 1.9.2."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-130 Excessive Allocation"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-14T15:07:57.359Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory",
                "related"
              ],
              "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-qrfr-wh4c-3qhw"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-58229.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-58229"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/566d702e6f29105f77522ca7aabb9f64f2f4e333"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unbounded HTTP/1 response-header and chunked-trailer accumulation in Mint causes memory-exhaustion DoS",
          "x_generator": {
            "engine": "cvelib 1.8.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-58229",
        "datePublished": "2026-07-14T08:36:54.616Z",
        "dateReserved": "2026-06-29T18:54:08.633Z",
        "dateUpdated": "2026-07-14T15:07:57.359Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-56810 (GCVE-0-2026-56810)

    Vulnerability from cvelistv5 – Published: 2026-07-06 09:17 – Updated: 2026-07-07 04:32
    VLAI
    Title
    mint buffers an entire chunked response chunk in memory in Mint.HTTP1.decode_body/5
    Summary
    Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint mint (Mint.HTTP1 module) allows a denial of service via an oversized chunked transfer-encoded response. This vulnerability is associated with program files lib/mint/http1.ex and program routines 'Elixir.Mint.HTTP1':decode_body/5, 'Elixir.Mint.HTTP1':add_body_to_buffer/2. When Mint decodes a chunked HTTP response body, it accumulates each partial fragment of the current chunk in the connection's data_buffer (an unbounded iolist) via add_body_to_buffer/2 and does not emit the data to the caller until the full declared chunk length has been received. The chunk size is taken directly from the server and parsed with no upper bound, so a malicious or compromised server can announce one enormous chunk (for example a size line of 7FFFFFFF, about 2 GiB) and then send the body bytes slowly without ever completing the chunk. The client buffers every received byte while it waits for a completion that never arrives, and because no data responses are produced until the chunk finishes, a caller that otherwise streams large content-length bodies safely gains no protection. An unauthenticated remote server (reachable whenever a client follows redirects, fetches user-supplied URLs, or processes webhooks) can drive the client's memory arbitrarily high and trigger an out-of-memory condition. This issue affects mint: from 0.5.0 before 1.9.1.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-06 15:52 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.5.0 , < 1.9.1 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: c575d819d39ebf7e9b77ec24584a5ffbb11c844e , < 193ce714907d16e8adc4ab3c40e4f0c2f045b2a6 (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-56810",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-06T15:52:57.089606Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-06T15:53:00.170Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-c59h-fq4p-r36r"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:add_body_to_buffer/2"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1.9.1",
                  "status": "affected",
                  "version": "0.5.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:decode_body/5"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP1\u0027:add_body_to_buffer/2"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "193ce714907d16e8adc4ab3c40e4f0c2f045b2a6",
                  "status": "affected",
                  "version": "c575d819d39ebf7e9b77ec24584a5ffbb11c844e",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "1.9.1",
                      "versionStartIncluding": "0.5.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Peter Ullrich"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Andrea Leopardi"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Eric Meadows-J\u00f6nsson"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAllocation of Resources Without Limits or Throttling vulnerability in elixir-mint mint (\u003ctt\u003eMint.HTTP1\u003c/tt\u003e module) allows a denial of service via an oversized \u003ctt\u003echunked\u003c/tt\u003e transfer-encoded response.\u003c/p\u003e\u003cp\u003eThis vulnerability is associated with program files \u003ctt\u003elib/mint/http1.ex\u003c/tt\u003e and program routines \u003ctt\u003e\u0027Elixir.Mint.HTTP1\u0027:decode_body/5\u003c/tt\u003e, \u003ctt\u003e\u0027Elixir.Mint.HTTP1\u0027:add_body_to_buffer/2\u003c/tt\u003e.\u003c/p\u003e\u003cp\u003eWhen Mint decodes a \u003ctt\u003echunked\u003c/tt\u003e HTTP response body, it accumulates each partial fragment of the current chunk in the connection\u0027s \u003ctt\u003edata_buffer\u003c/tt\u003e (an unbounded iolist) via \u003ctt\u003eadd_body_to_buffer/2\u003c/tt\u003e and does not emit the data to the caller until the full declared chunk length has been received. The chunk size is taken directly from the server and parsed with no upper bound, so a malicious or compromised server can announce one enormous chunk (for example a size line of \u003ctt\u003e7FFFFFFF\u003c/tt\u003e, about 2 GiB) and then send the body bytes slowly without ever completing the chunk. The client buffers every received byte while it waits for a completion that never arrives, and because no data responses are produced until the chunk finishes, a caller that otherwise streams large \u003ctt\u003econtent-length\u003c/tt\u003e bodies safely gains no protection. An unauthenticated remote server (reachable whenever a client follows redirects, fetches user-supplied URLs, or processes webhooks) can drive the client\u0027s memory arbitrarily high and trigger an out-of-memory condition.\u003c/p\u003e\u003cp\u003eThis issue affects mint: from 0.5.0 before 1.9.1.\u003c/p\u003e"
                }
              ],
              "value": "Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint mint (Mint.HTTP1 module) allows a denial of service via an oversized chunked transfer-encoded response.\n\nThis vulnerability is associated with program files lib/mint/http1.ex and program routines \u0027Elixir.Mint.HTTP1\u0027:decode_body/5, \u0027Elixir.Mint.HTTP1\u0027:add_body_to_buffer/2.\n\nWhen Mint decodes a chunked HTTP response body, it accumulates each partial fragment of the current chunk in the connection\u0027s data_buffer (an unbounded iolist) via add_body_to_buffer/2 and does not emit the data to the caller until the full declared chunk length has been received. The chunk size is taken directly from the server and parsed with no upper bound, so a malicious or compromised server can announce one enormous chunk (for example a size line of 7FFFFFFF, about 2 GiB) and then send the body bytes slowly without ever completing the chunk. The client buffers every received byte while it waits for a completion that never arrives, and because no data responses are produced until the chunk finishes, a caller that otherwise streams large content-length bodies safely gains no protection. An unauthenticated remote server (reachable whenever a client follows redirects, fetches user-supplied URLs, or processes webhooks) can drive the client\u0027s memory arbitrarily high and trigger an out-of-memory condition.\n\nThis issue affects mint: from 0.5.0 before 1.9.1."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-130 Excessive Allocation"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-07T04:32:36.390Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory",
                "related"
              ],
              "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-c59h-fq4p-r36r"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-56810.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-56810"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/193ce714907d16e8adc4ab3c40e4f0c2f045b2a6"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "mint buffers an entire chunked response chunk in memory in Mint.HTTP1.decode_body/5",
          "x_generator": {
            "engine": "cvelib 1.8.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-56810",
        "datePublished": "2026-07-06T09:17:17.429Z",
        "dateReserved": "2026-06-23T12:29:02.507Z",
        "dateUpdated": "2026-07-07T04:32:36.390Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-58226 (GCVE-0-2026-58226)

    Vulnerability from cvelistv5 – Published: 2026-07-06 09:03 – Updated: 2026-07-06 14:04
    VLAI
    Title
    Unauthenticated denial-of-service via unbounded HPACK integer decoding in hpax
    Summary
    Inefficient Algorithmic Complexity vulnerability in elixir-mint hpax allows unauthenticated denial-of-service via unbounded HPACK integer decoding. hpax decodes HPACK variable-length integers with no upper bound on the decoded value or the number of continuation octets. 'Elixir.HPAX.Types':decode_remaining_integer/3 accumulates the integer as int + (value <<< m), shifting by 7 more bits for each continuation octet and stopping only on a terminating octet or truncated input, never because the integer grew too large. Because BEAM integers are arbitrary precision, a run of N continuation octets builds an O(N)-bit bignum and re-adds into an ever-larger bignum on each step, so the total decoding cost is superlinear (about O(N^2)). An unauthenticated attacker who can send an HTTP/2 header block to a server using this decoder (reached through the 'Elixir.HPAX':decode/2 entry point) can supply a small header block that forces a large, attacker-controlled amount of CPU (and transient memory), a denial-of-service amplification. This issue affects hpax from 0.1.1 before 1.0.4.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-06 12:49 UTC
    CWE
    • CWE-407 - Inefficient Algorithmic Complexity
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint hpax Affected: 0.1.1 , < 1.0.4 (semver)
        cpe:2.3:a:elixir-mint:hpax:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint hpax Affected: 56db437a7e2c515e3bdd770ac7947b02cd2390d0 , < 1ba4bb2dc91e80089cf89c73970ac3ded76f17eb (git)
        cpe:2.3:a:elixir-mint:hpax:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-58226",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-06T12:49:38.954923Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-06T12:49:52.028Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/hpax/security/advisories/GHSA-jj2p-32j7-whj2"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:hpax:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "Elixir.HPAX",
                "Elixir.HPAX.Types"
              ],
              "packageName": "hpax",
              "packageURL": "pkg:hex/hpax",
              "product": "hpax",
              "programFiles": [
                "lib/hpax.ex",
                "lib/hpax/types.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.HPAX\u0027:decode/2"
                },
                {
                  "name": "\u0027Elixir.HPAX.Types\u0027:decode_integer/2"
                },
                {
                  "name": "\u0027Elixir.HPAX.Types\u0027:decode_remaining_integer/3"
                }
              ],
              "repo": "https://github.com/elixir-mint/hpax",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1.0.4",
                  "status": "affected",
                  "version": "0.1.1",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:elixir-mint:hpax:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "Elixir.HPAX",
                "Elixir.HPAX.Types"
              ],
              "packageName": "elixir-mint/hpax",
              "packageURL": "pkg:github/elixir-mint/hpax",
              "product": "hpax",
              "programFiles": [
                "lib/hpax.ex",
                "lib/hpax/types.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.HPAX\u0027:decode/2"
                },
                {
                  "name": "\u0027Elixir.HPAX.Types\u0027:decode_integer/2"
                },
                {
                  "name": "\u0027Elixir.HPAX.Types\u0027:decode_remaining_integer/3"
                }
              ],
              "repo": "https://github.com/elixir-mint/hpax",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1ba4bb2dc91e80089cf89c73970ac3ded76f17eb",
                  "status": "affected",
                  "version": "56db437a7e2c515e3bdd770ac7947b02cd2390d0",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:elixir-mint:hpax:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "1.0.4",
                      "versionStartIncluding": "0.1.1",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "AND"
                }
              ],
              "operator": "OR"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Peter Ullrich"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Andrea Leopardi"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Eric Meadows-J\u00f6nsson"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eInefficient Algorithmic Complexity vulnerability in elixir-mint hpax allows unauthenticated denial-of-service via unbounded HPACK integer decoding.\u003c/p\u003e\u003cp\u003e\u003ctt\u003ehpax\u003c/tt\u003e decodes HPACK variable-length integers with no upper bound on the decoded value or the number of continuation octets. \u003ctt\u003e\u0027Elixir.HPAX.Types\u0027:decode_remaining_integer/3\u003c/tt\u003e accumulates the integer as \u003ctt\u003eint + (value \u0026lt;\u0026lt;\u0026lt; m)\u003c/tt\u003e, shifting by 7 more bits for each continuation octet and stopping only on a terminating octet or truncated input, never because the integer grew too large. Because BEAM integers are arbitrary precision, a run of N continuation octets builds an O(N)-bit bignum and re-adds into an ever-larger bignum on each step, so the total decoding cost is superlinear (about O(N^2)). An unauthenticated attacker who can send an HTTP/2 header block to a server using this decoder (reached through the \u003ctt\u003e\u0027Elixir.HPAX\u0027:decode/2\u003c/tt\u003e entry point) can supply a small header block that forces a large, attacker-controlled amount of CPU (and transient memory), a denial-of-service amplification.\u003c/p\u003e\u003cp\u003eThis issue affects \u003ctt\u003ehpax\u003c/tt\u003e from 0.1.1 before 1.0.4.\u003c/p\u003e"
                }
              ],
              "value": "Inefficient Algorithmic Complexity vulnerability in elixir-mint hpax allows unauthenticated denial-of-service via unbounded HPACK integer decoding.\n\nhpax decodes HPACK variable-length integers with no upper bound on the decoded value or the number of continuation octets. \u0027Elixir.HPAX.Types\u0027:decode_remaining_integer/3 accumulates the integer as int + (value \u003c\u003c\u003c m), shifting by 7 more bits for each continuation octet and stopping only on a terminating octet or truncated input, never because the integer grew too large. Because BEAM integers are arbitrary precision, a run of N continuation octets builds an O(N)-bit bignum and re-adds into an ever-larger bignum on each step, so the total decoding cost is superlinear (about O(N^2)). An unauthenticated attacker who can send an HTTP/2 header block to a server using this decoder (reached through the \u0027Elixir.HPAX\u0027:decode/2 entry point) can supply a small header block that forces a large, attacker-controlled amount of CPU (and transient memory), a denial-of-service amplification.\n\nThis issue affects hpax from 0.1.1 before 1.0.4."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-130 Excessive Allocation"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-407",
                  "description": "CWE-407 Inefficient Algorithmic Complexity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-06T14:04:14.632Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory",
                "related"
              ],
              "url": "https://github.com/elixir-mint/hpax/security/advisories/GHSA-jj2p-32j7-whj2"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-58226.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-58226"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/hpax/commit/1ba4bb2dc91e80089cf89c73970ac3ded76f17eb"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unauthenticated denial-of-service via unbounded HPACK integer decoding in hpax",
          "x_generator": {
            "engine": "cvelib 1.8.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-58226",
        "datePublished": "2026-07-06T09:03:47.374Z",
        "dateReserved": "2026-06-29T18:54:08.633Z",
        "dateUpdated": "2026-07-06T14:04:14.632Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-49753 (GCVE-0-2026-49753)

    Vulnerability from cvelistv5 – Published: 2026-06-02 14:15 – Updated: 2026-06-02 19:14
    VLAI
    Title
    HTTP response smuggling in Mint HTTP/1 client via lenient Content-Length parsing
    Summary
    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. Mint'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. A 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. This issue affects mint: from 0.1.0 before 1.9.0.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-02 18:06 UTC
    CWE
    • CWE-444 - Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.1.0 , < 1.9.0 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: 65e0e86d799a6d3b08e4372fccdd9747535e0dd6 , < 47e48027480228e4e32a0b4df39db497b4804921 (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-49753",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-02T18:06:41.525477Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-02T18:06:51.373Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-mjqx-c6f6-7rc2"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1.Parse\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1/parse.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Parse\u0027: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": [
                "\u0027Elixir.Mint.HTTP1.Parse\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1/parse.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Parse\u0027: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\u00f6nsson"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Inconsistent Interpretation of HTTP Requests (\u0027HTTP Request/Response Smuggling\u0027) vulnerability in elixir-mint Mint allows attacker-controlled HTTP/1 servers to desynchronise response framing on shared connections.\u003cp\u003eMint\u0027s HTTP/1 \u003ctt\u003eContent-Length\u003c/tt\u003e parser, \u003ctt\u003e\u0027Elixir.Mint.HTTP1.Parse\u0027:content_length_header/1\u003c/tt\u003e in \u003ctt\u003elib/mint/http1/parse.ex\u003c/tt\u003e, parses the header value with \u003ctt\u003eInteger.parse/1\u003c/tt\u003e, which accepts an optional \u003ctt\u003e+\u003c/tt\u003e or \u003ctt\u003e-\u003c/tt\u003e sign prefix. The \u003ctt\u003elength \u0026gt;= 0\u003c/tt\u003e guard rejects negatives, but inputs such as \u003ctt\u003e+0\u003c/tt\u003e or \u003ctt\u003e+123\u003c/tt\u003e are returned as valid lengths. RFC 7230 specifies \u003ctt\u003eContent-Length = 1*DIGIT\u003c/tt\u003e, with no sign character permitted.\u003c/p\u003e\u003cp\u003eA fronting proxy or load balancer that strictly enforces the grammar will reject or reframe a header like \u003ctt\u003eContent-Length: +0\u003c/tt\u003e, 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\u0027s response stream.\u003c/p\u003e\u003cp\u003eThis issue affects mint: from 0.1.0 before 1.9.0.\u003c/p\u003e"
                }
              ],
              "value": "Inconsistent Interpretation of HTTP Requests (\u0027HTTP Request/Response Smuggling\u0027) vulnerability in elixir-mint Mint allows attacker-controlled HTTP/1 servers to desynchronise response framing on shared connections.\n\nMint\u0027s 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 \u003e= 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\u0027s 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 (\u0027HTTP Request/Response Smuggling\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-02T19:14:42.817Z",
            "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-02T19:14:42.817Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-49754 (GCVE-0-2026-49754)

    Vulnerability from cvelistv5 – Published: 2026-06-02 14:15 – Updated: 2026-06-02 19:14
    VLAI
    Title
    HTTP/2 CONTINUATION flood in Mint client via unbounded header-block accumulation
    Summary
    Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint Mint allows attacker-controlled HTTP/2 servers to exhaust memory in a Mint client (HTTP/2 CONTINUATION flood). When Mint's HTTP/2 receive path observes a HEADERS frame without the END_HEADERS flag, the unparsed header-block fragment is parked in conn.headers_being_processed, and every subsequent CONTINUATION frame on that stream is appended to the accumulator. Nothing in the receive path caps the accumulator: there is no per-stream size limit, no CONTINUATION frame-count limit, and max_header_list_size is only enforced on outgoing requests, never on inbound header blocks (its default is :infinity). A malicious or compromised HTTP/2 server can stream an endless sequence of CONTINUATION frames (each up to the peer-advertised SETTINGS_MAX_FRAME_SIZE) and drive the client's iolist to arbitrary size, causing memory exhaustion and BEAM process death. A single connection to an attacker-controlled HTTP/2 endpoint is sufficient. This issue affects mint: from 0.1.0 before 1.9.0.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-02 18:08 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.1.0 , < 1.9.0 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: 596ca4304504be68939c4929e0831557097962b8 , < b662d127d3028b5426c88d4c9cc7fe430491a10b (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-49754",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-02T18:08:02.308938Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-02T18:08:05.621Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-2p26-p43x-fhp8"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP2\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http2.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:handle_continuation/3"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:handle_headers/3"
                }
              ],
              "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": [
                "\u0027Elixir.Mint.HTTP2\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http2.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:handle_continuation/3"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:handle_headers/3"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint.git",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "b662d127d3028b5426c88d4c9cc7fe430491a10b",
                  "status": "affected",
                  "version": "596ca4304504be68939c4929e0831557097962b8",
                  "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\u00f6nsson"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint Mint allows attacker-controlled HTTP/2 servers to exhaust memory in a Mint client (HTTP/2 CONTINUATION flood).\u003cp\u003eWhen Mint\u0027s HTTP/2 receive path observes a \u003ctt\u003eHEADERS\u003c/tt\u003e frame without the \u003ctt\u003eEND_HEADERS\u003c/tt\u003e flag, the unparsed header-block fragment is parked in \u003ctt\u003econn.headers_being_processed\u003c/tt\u003e, and every subsequent \u003ctt\u003eCONTINUATION\u003c/tt\u003e frame on that stream is appended to the accumulator. Nothing in the receive path caps the accumulator: there is no per-stream size limit, no \u003ctt\u003eCONTINUATION\u003c/tt\u003e frame-count limit, and \u003ctt\u003emax_header_list_size\u003c/tt\u003e is only enforced on outgoing requests, never on inbound header blocks (its default is \u003ctt\u003e:infinity\u003c/tt\u003e).\u003c/p\u003e\u003cp\u003eA malicious or compromised HTTP/2 server can stream an endless sequence of \u003ctt\u003eCONTINUATION\u003c/tt\u003e frames (each up to the peer-advertised \u003ctt\u003eSETTINGS_MAX_FRAME_SIZE\u003c/tt\u003e) and drive the client\u0027s iolist to arbitrary size, causing memory exhaustion and BEAM process death. A single connection to an attacker-controlled HTTP/2 endpoint is sufficient.\u003c/p\u003e\u003cp\u003eThis issue affects mint: from 0.1.0 before 1.9.0.\u003c/p\u003e"
                }
              ],
              "value": "Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint Mint allows attacker-controlled HTTP/2 servers to exhaust memory in a Mint client (HTTP/2 CONTINUATION flood).\n\nWhen Mint\u0027s HTTP/2 receive path observes a HEADERS frame without the END_HEADERS flag, the unparsed header-block fragment is parked in conn.headers_being_processed, and every subsequent CONTINUATION frame on that stream is appended to the accumulator. Nothing in the receive path caps the accumulator: there is no per-stream size limit, no CONTINUATION frame-count limit, and max_header_list_size is only enforced on outgoing requests, never on inbound header blocks (its default is :infinity).\n\nA malicious or compromised HTTP/2 server can stream an endless sequence of CONTINUATION frames (each up to the peer-advertised SETTINGS_MAX_FRAME_SIZE) and drive the client\u0027s iolist to arbitrary size, causing memory exhaustion and BEAM process death. A single connection to an attacker-controlled HTTP/2 endpoint is sufficient.\n\nThis issue affects mint: from 0.1.0 before 1.9.0."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-130 Excessive Allocation"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-02T19:14:33.100Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory",
                "related"
              ],
              "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-2p26-p43x-fhp8"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-49754.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-49754"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/b662d127d3028b5426c88d4c9cc7fe430491a10b"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "HTTP/2 CONTINUATION flood in Mint client via unbounded header-block accumulation",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eRestrict Mint to HTTP/1 on connections to untrusted servers by passing \u003ctt\u003eprotocols: [:http1]\u003c/tt\u003e to \u003ctt\u003e\u0027Elixir.Mint.HTTP\u0027:connect/4\u003c/tt\u003e. This avoids the vulnerable HTTP/2 receive path entirely, at the cost of losing HTTP/2 for those connections.\u003c/p\u003e"
                }
              ],
              "value": "Restrict Mint to HTTP/1 on connections to untrusted servers by passing protocols: [:http1] to Mint.HTTP.connect/4. This avoids the vulnerable HTTP/2 receive path entirely, at the cost of losing HTTP/2 for those connections."
            }
          ],
          "x_generator": {
            "engine": "cvelib 1.8.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-49754",
        "datePublished": "2026-06-02T14:15:14.951Z",
        "dateReserved": "2026-06-01T13:45:22.448Z",
        "dateUpdated": "2026-06-02T19:14:33.100Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-48862 (GCVE-0-2026-48862)

    Vulnerability from cvelistv5 – Published: 2026-06-02 14:15 – Updated: 2026-06-02 19:14
    VLAI
    Title
    Unbounded conn.streams growth in Mint HTTP/2 client via unenforced PUSH_PROMISE concurrency
    Summary
    Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint Mint allows attacker-controlled HTTP/2 servers to exhaust memory in a Mint client via PUSH_PROMISE flooding. In lib/mint/http2.ex, Mint.HTTP2.decode_push_promise_headers_and_add_response/5 inserts a :reserved_remote entry into conn.streams for every promised stream ID. The neighbouring Mint.HTTP2.assert_valid_promised_stream_id/2 only verifies that the promised ID is even and not already present; client_settings.max_concurrent_streams is not consulted at promise time. The concurrency cap is only checked when the response HEADERS for the promised stream arrive, so a server that emits PUSH_PROMISE frames and withholds the matching HEADERS never trips that check. HTTP/2 server push is accepted by default (client_settings.enable_push defaults to true). A single long-lived HTTP/2 connection to a hostile server lets that server pin one conn.streams entry per PUSH_PROMISE frame it sends, with no upper bound, until the client process runs out of memory. This issue affects mint: from 0.2.0 before 1.9.0.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-02 18:11 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.2.0 , < 1.9.0 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: 65c6394d05a1b8aa4a7461708c3aa173e8d7a5cf , < 70b97b6a5209fb288b0e04d8e657dda26c59de67 (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-48862",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-02T18:11:00.524487Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-02T18:11:05.599Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-g586-ccqf-7x4r"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP2\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http2.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:handle_push_promise/3"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:decode_push_promise_headers_and_add_response/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "1.9.0",
                  "status": "affected",
                  "version": "0.2.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP2\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http2.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:handle_push_promise/3"
                },
                {
                  "name": "\u0027Elixir.Mint.HTTP2\u0027:decode_push_promise_headers_and_add_response/5"
                }
              ],
              "repo": "https://github.com/elixir-mint/mint.git",
              "vendor": "elixir-mint",
              "versions": [
                {
                  "lessThan": "70b97b6a5209fb288b0e04d8e657dda26c59de67",
                  "status": "affected",
                  "version": "65c6394d05a1b8aa4a7461708c3aa173e8d7a5cf",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "1.9.0",
                      "versionStartIncluding": "0.2.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\u00f6nsson"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint Mint allows attacker-controlled HTTP/2 servers to exhaust memory in a Mint client via PUSH_PROMISE flooding.\u003cp\u003eIn \u003ctt\u003elib/mint/http2.ex\u003c/tt\u003e, \u003ctt\u003e\u0027Elixir.Mint.HTTP2\u0027:decode_push_promise_headers_and_add_response/5\u003c/tt\u003e inserts a \u003ctt\u003e:reserved_remote\u003c/tt\u003e entry into \u003ctt\u003econn.streams\u003c/tt\u003e for every promised stream ID. The neighbouring \u003ctt\u003e\u0027Elixir.Mint.HTTP2\u0027:assert_valid_promised_stream_id/2\u003c/tt\u003e only verifies that the promised ID is even and not already present; \u003ctt\u003eclient_settings.max_concurrent_streams\u003c/tt\u003e is not consulted at promise time. The concurrency cap is only checked when the response \u003ctt\u003eHEADERS\u003c/tt\u003e for the promised stream arrive, so a server that emits \u003ctt\u003ePUSH_PROMISE\u003c/tt\u003e frames and withholds the matching \u003ctt\u003eHEADERS\u003c/tt\u003e never trips that check.\u003c/p\u003e\u003cp\u003eHTTP/2 server push is accepted by default (\u003ctt\u003eclient_settings.enable_push\u003c/tt\u003e defaults to \u003ctt\u003etrue\u003c/tt\u003e). A single long-lived HTTP/2 connection to a hostile server lets that server pin one \u003ctt\u003econn.streams\u003c/tt\u003e entry per \u003ctt\u003ePUSH_PROMISE\u003c/tt\u003e frame it sends, with no upper bound, until the client process runs out of memory.\u003c/p\u003e\u003cp\u003eThis issue affects mint: from 0.2.0 before 1.9.0.\u003c/p\u003e"
                }
              ],
              "value": "Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint Mint allows attacker-controlled HTTP/2 servers to exhaust memory in a Mint client via PUSH_PROMISE flooding.\n\nIn lib/mint/http2.ex, Mint.HTTP2.decode_push_promise_headers_and_add_response/5 inserts a :reserved_remote entry into conn.streams for every promised stream ID. The neighbouring Mint.HTTP2.assert_valid_promised_stream_id/2 only verifies that the promised ID is even and not already present; client_settings.max_concurrent_streams is not consulted at promise time. The concurrency cap is only checked when the response HEADERS for the promised stream arrive, so a server that emits PUSH_PROMISE frames and withholds the matching HEADERS never trips that check.\n\nHTTP/2 server push is accepted by default (client_settings.enable_push defaults to true). A single long-lived HTTP/2 connection to a hostile server lets that server pin one conn.streams entry per PUSH_PROMISE frame it sends, with no upper bound, until the client process runs out of memory.\n\nThis issue affects mint: from 0.2.0 before 1.9.0."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-130 Excessive Allocation"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-02T19:14:09.683Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory",
                "related"
              ],
              "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-g586-ccqf-7x4r"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-48862.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-48862"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/elixir-mint/mint/commit/70b97b6a5209fb288b0e04d8e657dda26c59de67"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unbounded conn.streams growth in Mint HTTP/2 client via unenforced PUSH_PROMISE concurrency",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eDisable HTTP/2 server push on connections to untrusted servers by passing \u003ctt\u003eclient_settings: [enable_push: false]\u003c/tt\u003e to \u003ctt\u003e\u0027Elixir.Mint.HTTP\u0027:connect/4\u003c/tt\u003e. This makes Mint reject any inbound \u003ctt\u003ePUSH_PROMISE\u003c/tt\u003e frame with a \u003ctt\u003ePROTOCOL_ERROR\u003c/tt\u003e before the vulnerable code path is reached.\u003c/p\u003e"
                }
              ],
              "value": "Disable HTTP/2 server push on connections to untrusted servers by passing client_settings: [enable_push: false] to Mint.HTTP.connect/4. This makes Mint reject any inbound PUSH_PROMISE frame with a PROTOCOL_ERROR before the vulnerable code path is reached."
            }
          ],
          "x_generator": {
            "engine": "cvelib 1.8.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-48862",
        "datePublished": "2026-06-02T14:15:10.591Z",
        "dateReserved": "2026-05-25T20:44:10.697Z",
        "dateUpdated": "2026-06-02T19:14:09.683Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-48861 (GCVE-0-2026-48861)

    Vulnerability from cvelistv5 – Published: 2026-06-02 14:15 – Updated: 2026-06-02 19:14
    VLAI
    Title
    CRLF injection in HTTP/1 request line via unvalidated method in Mint
    Summary
    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 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.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-02 18:11 UTC
    CWE
    • CWE-93 - Improper Neutralization of CRLF Sequences ('CRLF Injection')
    Assigner
    Impacted products
    Vendor Product Version
    elixir-mint mint Affected: 0.1.0 , < 1.9.0 (semver)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    elixir-mint mint Affected: 8db1acff30b6a9433762c18b1e1f891b8c1f74f7 , < fad091454cbb7449b19edb8e1fee12ca7cf28c3a (git)
        cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-48861",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-02T18:11:46.297986Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-02T18:12:22.736Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/elixir-mint/mint/security/advisories/GHSA-2pg6-44cx-c49v"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Mint.HTTP1.Request\u0027"
              ],
              "packageName": "mint",
              "packageURL": "pkg:hex/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1/request.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Request\u0027: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": [
                "\u0027Elixir.Mint.HTTP1.Request\u0027"
              ],
              "packageName": "elixir-mint/mint",
              "packageURL": "pkg:github/elixir-mint/mint",
              "product": "mint",
              "programFiles": [
                "lib/mint/http1/request.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Mint.HTTP1.Request\u0027: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\u00f6nsson"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Improper Neutralization of CRLF Sequences (\u0027CRLF Injection\u0027) vulnerability in elixir-mint Mint allows HTTP Request Splitting and HTTP Request Smuggling.\u003cp\u003eIn \u003ctt\u003elib/mint/http1/request.ex\u003c/tt\u003e, the \u003ctt\u003eencode_request_line/2\u003c/tt\u003e function splices the caller-supplied \u003ctt\u003emethod\u003c/tt\u003e and \u003ctt\u003etarget\u003c/tt\u003e arguments directly into the HTTP/1 request line without any character validation: \u003ctt\u003e[method, ?\\s, target, \" HTTP/1.1\\r\\n\"]\u003c/tt\u003e. An application that forwards attacker-controlled input as the HTTP method or target to \u003ctt\u003e\u0027Elixir.Mint.HTTP\u0027:request/5\u003c/tt\u003e 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.\u003c/p\u003e\u003cp\u003eMint 1.7.0 introduced \u003ctt\u003evalidate_request_target/2\u003c/tt\u003e, which rejects CRLF and other control characters in the \u003ctt\u003etarget\u003c/tt\u003e by default and closes the path/query vector unless the caller opts out via \u003ctt\u003eskip_target_validation: true\u003c/tt\u003e. The \u003ctt\u003emethod\u003c/tt\u003e field remains unvalidated, so the method-based injection is exploitable under the default Mint configuration on all versions.\u003c/p\u003e\u003cp\u003eThis issue affects mint: from 0.1.0 before 1.9.0.\u003c/p\u003e"
                }
              ],
              "value": "Improper Neutralization of CRLF Sequences (\u0027CRLF Injection\u0027) 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 (\u0027CRLF Injection\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-02T19:14:00.466Z",
            "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-02T19:14:00.466Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }