Description
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.
Published: 2026-11-06
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: Memory exhaustion leading to denial of service
Action: Immediate Patch
AI Analysis

Impact

A remote attacker can send a large amount of data on a keep‑alive HTTP/1.1 connection after a request has been fully received. While the handler is still executing, the Cowboy HTTP server appends every new byte to the connection buffer without applying any size limits. This causes the Erlang VM to allocate more memory for each incoming data chunk, eventually exhausting available RAM and failing all connections. The vulnerability is a classic uncontrolled resource consumption flaw—CWE‑770—and results in a local denial‑of‑service that can be triggered without authentication.

Affected Systems

The flaw exists in the Cowboy web server library developed by ninenines. Any application that incorporates Cowboy 2.18.0 or later is affected, including Erlang/OTP environments that embed Cowboy as the HTTP handler.

Risk and Exploitability

The CVSS score of 8.2 reflects a high exploitation severity. The attack vector is remote and unauthenticated; an attacker only needs the ability to maintain a persistent connection and send arbitrary data. Although no EPSS score is available, the simplicity of the trigger means an exploit can be built quickly. The vulnerability is not listed in the CISA KEV catalog, but the lack of a request size limit means the resource exhaustion attack is likely to succeed against any environment running the affected Cowboy version.

Generated by OpenCVE AI on November 6, 2026 at 11:20 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the newest Cowboy release that contains the buffer‑size limit fix (currently available in commits 3a630c07e1521abf63a1b9ea080509aa1337b60d and faf5594fbf74530ace90b0c46c936bdc2cf82081).
  • If upgrading is not immediately possible, manually apply the code changes from the referenced commits to your local Cowboy source before compiling.
  • Deploy a reverse proxy or firewall rule to cap the number of concurrent requests or the rate of data per connection to mitigate the impact until the patch is applied.

Generated by OpenCVE AI on November 6, 2026 at 11:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 06 Nov 2026 10:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Cowboy HTTP/1.1 Unbounded Buffering of Pipelined Data During Request Handling Enables Memory Exhaustion
First Time appeared Ninenines
Ninenines cowboy
Weaknesses CWE-770
CPEs cpe:2.3:a:ninenines:cowboy:*:*:*:*:*:*:*:*
Vendors & Products Ninenines
Ninenines cowboy
References
Metrics cvssV4_0

{'score': 8.2, 'vector': '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'}


Subscriptions

Ninenines Cowboy
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-11-06T10:29:00.314Z

Reserved: 2026-10-26T10:30:01.636Z

Link: CVE-2026-115701

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-06T11:17:05.223

Modified: 2026-11-06T11:17:05.223

Link: CVE-2026-115701

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-06T11:30:03Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling