Read the docs

Unbounded buffering of pipelined data in Cowboy exhausts memory

Priority LOW 36CWE-770Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-770.

Summary

The ninenines cowboy package from 2.18.0 onward buffers data sent on a keep-alive HTTP/1.1 connection while a handler runs, with no size limit (CWE-770). An unauthenticated remote attacker can send arbitrary data on one connection, and a few connections can drive the Erlang VM into out-of-memory conditions.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

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. Once 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. This issue affects cowboy: from 2.18.0 onward.

Why it matters now

EPSS 0.00539 45th percentileScored 2026-11-07
Fix Fixed No fixed version in the sources yet

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
nineninescowboy2.18.0 and later—No fix listedCNA
  • cowboy Vendorninenines Affected 2.18.0 and later Fixed in — No fix listed CNA

CPE names CNA · 1

CPEVersionsRoleVendor
cpe:2.3:a:ninenines:cowboy:*:*:*:*:*:*:*:*——ninenines
  • cpe:2.3:a:ninenines:cowboy:*:*:*:*:*:*:*:* Versions — — ·ninenines

Remediation

The sources list no fixed version for cowboy.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Timeline

  1. 2026-11-06 Threatist record created from CVE-2026-115701
  2. 2026-11-06 Alias added: GHSA-fg6p-m67f-wm9v
  3. 2026-11-08 Priority changed: MEDIUM → LOW

References

  • TI-2026-32019 gun HTTP/1.1 client accepts unsolicited 101 Switching Protocols response allowing server-driven protocol hijack and OOM CVSS 4.0HIGH 8.7
  • TI-2026-32018 gun HTTP/1.1 response buffer has no size limit allowing server-controlled memory exhaustion CVSS 4.0HIGH 8.7
  • TI-2026-06860 Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS CVSS 4.0HIGH 8.7
  • TI-2026-42388 Unbounded HPACK/QPACK prefixed-integer decoding in Cowlib causes memory-exhaustion DoS CVSS 4.0HIGH 8.7
  • TI-2026-85816 Unbounded HTTP/2 header list size in cowlib enables memory exhaustion CVSS 4.0HIGH 8.7
  • TI-2026-46781 Cowboy HTTP/1.1 max_headers Bypass via Duplicate Header Names Enables Memory Exhaustion CVSS 4.0MEDIUM 6.9
See all 13 →

Sources