CVE-2026-115701
HighCVSS 8.2Summary
ninenines cowboy has an Allocation of Resources Without Limits or Throttling vulnerability: cowboy_http:parse/2 buffers every further byte arriving on a keep-alive connection while the handler is still running, with no limit on buffer size. An unauthenticated remote attacker can send arbitrary amounts of data on one connection, driving the Erlang VM into out-of-memory conditions. This affects versions from 2.18.0 onward.
Risk Assessment
An unauthenticated attacker can exhaust server memory through a few connections to an endpoint that holds requests open, causing denial of service for cowboy-based applications.
Recommendation
Upgrade the cowboy library to a version containing the fix and consider limiting concurrent connections and handler lifetimes at the infrastructure level.
Other vulnerabilities in cowboy
See all- CVE-2026-65624Medium
The cowboy HTTP server from version 2.0.0-pre.4 to 2.17.x is vulnerable to memory exhaustion due to unlimited resources. An unauthenticated attacker can send many HTTP/1.1 headers with the same name, causing continuous binary memory growth, potentially exhausting Erlang VM memory.
- CVE-2026-8466High
In cowboy (ninenines) from 2.0.0 before 2.15.0, `cowboy_req:read_part/3` accumulates request bytes into a buffer without an upper-bound check when multipart header parsing returns `more`. An unauthenticated attacker can send a multipart/form-data request that never yields a complete header section, causing linear memory growth and exhausting BEAM memory.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

