{"id":"CVE-2026-115701","title":"Cowboy HTTP/1.1 Unbounded Buffering of Pipelined Data During Request Handling Enables Memory Exhaustion","summary":"Allocation of Resources Without Limits or Throttling vulnerability in ninenines cowboy allows an unauthenticated remote attacker to exhaust connection process memory over HTTP/1.1.\n\nOnce a request has been received in full and its handle…","severity":"high","cvss":8.2,"cvssVector":"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","cvssSource":"cna","cwe":["CWE-770"],"vendor":"ninenines","product":"cowboy","affected":["cowboy >= 2.18.0 < *","ninenines/cowboy >= faf5594fbf74530ace90b0c46c936bdc2cf82081 < 3a630c07e1521abf63a1b9ea080509aa1337b60d"],"published":"2026-11-06","updated":"2026-11-06","sourceUpdated":"2026-11-06T10:29:00.314Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-115701","references":[{"url":"https://cna.erlef.org/cves/CVE-2026-115701.html","label":"EEF CNA record for CVE-2026-115701"},{"url":"https://osv.dev/vulnerability/EEF-CVE-2026-115701","label":"OSV record EEF-CVE-2026-115701"},{"url":"https://github.com/ninenines/cowboy/commit/faf5594fbf74530ace90b0c46c936bdc2cf82081","label":"Introducing commit faf5594 in ninenines/cowboy"},{"url":"https://github.com/ninenines/cowboy/commit/3a630c07e1521abf63a1b9ea080509aa1337b60d","label":"Fix commit 3a630c0 in ninenines/cowboy"}],"tags":["cve.org"],"ingestedAt":"2026-11-06T10:49:35.340Z","epss":0.00539,"epssPercentile":0.45597,"slug":"CVE-2026-115701","body":"## Overview\n\nAllocation of Resources Without Limits or Throttling vulnerability in ninenines cowboy allows an unauthenticated remote attacker to exhaust connection process memory over HTTP/1.1.\n\nOnce a request has been received in full and its handler is still running, cowboy_http:parse/2 in src/cowboy_http.erl appends every further byte that arrives on the keep-alive connection to the connection buffer and returns to the receive loop without parsing it. The socket stays in active mode and no limit applies to this buffer: max_request_line_length, max_headers and the other parser limits only take effect once the handler returns and parsing resumes, and the only timer in this state is idle_timeout (default 60 seconds), which is reset on every received chunk. A client can therefore send an arbitrary amount of data on one connection for as long as the handler runs, and a few connections to an endpoint that holds requests open can drive the Erlang VM into out-of-memory conditions.\n\nThis issue affects cowboy: from 2.18.0 onward.\n\n## Affected\n\n- `cowboy >= 2.18.0 < *`\n- `ninenines/cowboy >= faf5594fbf74530ace90b0c46c936bdc2cf82081 < 3a630c07e1521abf63a1b9ea080509aa1337b60d`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":45,"depthScoreParts":{"impact":45.1,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}