CVE-2026-65624: Cowboy HTTP/1.1 max_headers Bypass via Duplicate Header Names Enables Memory Exhaustion
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.
The HTTP/1.1 handler in cowboyhttp enforces the maxheaders limit by counting the number of distinct header names in a map (maps:size(Headers)). When a request contains multiple header lines with the same name, the values are concatenated into a single ever-growing binary stored under that one map key (", " for regular headers, "; " for cookies), so the map size stays at one and the maxheaders cap (default 100) is never reached. Because no accumulator bounds the total number of header lines or the total byte size of the header block (only per-line maxheadernamelength and maxheadervaluelength apply), an unauthenticated client can send an arbitrary number of header lines with the same name and grow the connection process's binary memory to arbitrary size within the request window.
The impact per connection is bounded by requesttimeout (default 5 seconds, not reset by header data), and by maxheapsize when set (the offending connection process is killed once its heap grows past the limit). When maxheapsize is left at the default (unset), sustained abuse can drive the Erlang VM into out-of-memory conditions.
This issue affects cowboy from 2.0.0-pre.4 before 2.18.0.
Other sources
Cowboy HTTP/1.1 maxheaders Bypass via Duplicate Header Names Enables Memory Exhaustion
— Microsoft
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 3.13.7-9 - Upgrade
Upgrade
ninenines/cowboyto a version that resolves this vulnerability.Fixed in 2.18.0 - Configuration
Set cowboy HTTP/1.1 option max_heap_size so the offending connection process is killed once its heap grows past the limit (to prevent sustained header-driven memory exhaustion).
cowboy_http (HTTP/1.1 handler) max_heap_size = set to a finite limit
Event History
Frequently Asked Questions
What is the severity of CVE-2026-65624?
CVE-2026-65624 has a medium severity score of 6.9.
What can an attacker achieve with CVE-2026-65624?
An attacker can exhaust connection process memory by using duplicate header names in HTTP/1.1 requests.
Who is affected by CVE-2026-65624?
The vulnerability affects users of the ninenines cowboy web server.
How do I fix CVE-2026-65624?
To fix CVE-2026-65624, update your ninenines cowboy installation to the latest version where the vulnerability has been patched.
What is the nature of the vulnerability in CVE-2026-65624?
CVE-2026-65624 is an allocation of resources without limits vulnerability that allows memory exhaustion.