CVE-2026-8466
Unbounded buffer accumulation in multipart header parsing causes denial of service in cowboy
Description
Allocation of Resources Without Limits or Throttling vulnerability in ninenines cowboy allows denial of service via unbounded buffer accumulation in multipart header parsing. cowboy_req:read_part/3 in src/cowboy_req.erl accumulates incoming request bytes into a Buffer binary with no upper-bound check. When cow_multipart:parse_headers/2 returns more or {more, Buffer2}, the function reads up to Length bytes (default 64 KB) from the request body and recurses with the enlarged buffer. There is no equivalent of the byte_size(Acc) > Length guard present in the sibling function read_part_body/4. An unauthenticated attacker can send a multipart/form-data request whose body never yields a complete header section — for example, a body that never contains the advertised boundary delimiter, or one whose header lines never contain \r\n\r\n — and force the server process to accumulate memory linearly with the bytes the protocol layer is willing to deliver. A handful of concurrent such uploads is sufficient to exhaust BEAM memory. This issue affects cowboy from 2.0.0 before 2.15.0.
INFO
Published Date :
May 13, 2026, 7:17 p.m.
Last Modified :
Oct. 26, 2026, 2:10 p.m.
Remotely Exploit :
Yes !
Source :
6b3ad84c-e1a6-4bf7-a703-f496b71e49db
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 4.0 | HIGH | 6b3ad84c-e1a6-4bf7-a703-f496b71e49db | ||||
| CVSS 4.0 | HIGH | 6b3ad84c-e1a6-4bf7-a703-f496b71e49db |
Solution
- Update cowboy to version 2.15.0 or later.
- Apply the provided security patches for affected versions.
- Implement request size limits.
- Monitor resource usage.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-8466.
| URL | Resource |
|---|---|
| https://cna.erlef.org/cves/CVE-2026-8466.html | |
| https://github.com/ninenines/cowboy/commit/5c6a2061b41bb5771c4659fac7d5a822dca5bafb | |
| https://osv.dev/vulnerability/EEF-CVE-2026-8466 |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-8466 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-8466
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-8466 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-8466 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Translated by [email protected]
Oct. 26, 2026
Action Type Old Value New Value Added Translation Title: cowboy de ninenines, Description: La vulnerabilidad de asignación de recursos sin límites ni limitación en ninenines cowboy permite la denegación de servicio a través de la acumulación ilimitada de búfer en el análisis de encabezados multipart. cowboy_req:read_part/3 en src/cowboy_req.erl acumula bytes de solicitud entrantes en un binario de búfer sin una comprobación de límite superior. Cuando cow_multipart:parse_headers/2 devuelve more o {more, Buffer2}, la función lee hasta Length bytes (64 KB por defecto) del cuerpo de la solicitud y recurre con el búfer ampliado. No existe un equivalente de la guarda byte_size(Acc) > Length presente en la función hermana read_part_body/4. Un atacante no autenticado puede enviar una solicitud multipart/form-data cuyo cuerpo nunca produce una sección de encabezado completa - por ejemplo, un cuerpo que nunca contiene el delimitador de límite anunciado, o uno cuyas líneas de encabezado nunca contienen \r\n\r\n - y forzar al proceso del servidor a acumular memoria linealmente con los bytes que la capa del protocolo está dispuesta a entregar. Un puñado de dichas cargas concurrentes es suficiente para agotar la memoria BEAM. Este problema afecta a cowboy desde 2.0.0 antes de 2.15.0. -
CVE Modified by 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
Jun. 17, 2026
Action Type Old Value New Value Added Affected [{'cpes': ['cpe:2.3:a:ninenines:cowboy:*:*:*:*:*:*:*:*'], 'repo': 'https://github.com/ninenines/cowboy', 'vendor': 'ninenines', 'modules': ['cowboy_req'], 'product': 'cowboy', 'versions': [{'status': 'affected', 'version': '2.0.0', 'lessThan': '2.15.0', 'versionType': 'semver'}], 'packageURL': 'pkg:hex/cowboy', 'packageName': 'cowboy', 'programFiles': ['src/cowboy_req.erl'], 'collectionURL': 'https://repo.hex.pm', 'defaultStatus': 'unaffected', 'programRoutines': [{'name': 'cowboy_req:read_part/1'}, {'name': 'cowboy_req:read_part/2'}, {'name': 'cowboy_req:read_part/3'}]}, {'cpes': ['cpe:2.3:a:ninenines:cowboy:*:*:*:*:*:*:*:*'], 'repo': 'https://github.com/ninenines/cowboy', 'vendor': 'ninenines', 'modules': ['cowboy_req'], 'product': 'cowboy', 'versions': [{'status': 'affected', 'version': '917cf99e10c41676183d501b86af6e47c95afb89', 'lessThan': '5c6a2061b41bb5771c4659fac7d5a822dca5bafb', 'versionType': 'git'}], 'packageURL': 'pkg:github/ninenines/cowboy', 'packageName': 'ninenines/cowboy', 'programFiles': ['src/cowboy_req.erl'], 'collectionURL': 'https://github.com', 'defaultStatus': 'unaffected', 'programRoutines': [{'name': 'cowboy_req:read_part/1'}, {'name': 'cowboy_req:read_part/2'}, {'name': 'cowboy_req:read_part/3'}]}] -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jun. 17, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-8466', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'no'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-05-13T18:46:37.406887Z'} -
New CVE Received by 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
May. 13, 2026
Action Type Old Value New Value Added Description Allocation of Resources Without Limits or Throttling vulnerability in ninenines cowboy allows denial of service via unbounded buffer accumulation in multipart header parsing. cowboy_req:read_part/3 in src/cowboy_req.erl accumulates incoming request bytes into a Buffer binary with no upper-bound check. When cow_multipart:parse_headers/2 returns more or {more, Buffer2}, the function reads up to Length bytes (default 64 KB) from the request body and recurses with the enlarged buffer. There is no equivalent of the byte_size(Acc) > Length guard present in the sibling function read_part_body/4. An unauthenticated attacker can send a multipart/form-data request whose body never yields a complete header section — for example, a body that never contains the advertised boundary delimiter, or one whose header lines never contain \r\n\r\n — and force the server process to accumulate memory linearly with the bytes the protocol layer is willing to deliver. A handful of concurrent such uploads is sufficient to exhaust BEAM memory. This issue affects cowboy from 2.0.0 before 2.15.0. Added CVSS V4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X Added CWE CWE-770 Added Reference https://cna.erlef.org/cves/CVE-2026-8466.html Added Reference https://github.com/ninenines/cowboy/commit/5c6a2061b41bb5771c4659fac7d5a822dca5bafb Added Reference https://osv.dev/vulnerability/EEF-CVE-2026-8466