GHSA-jfc2-q6qh-g5x8

Suggest an improvement
Source
https://github.com/advisories/GHSA-jfc2-q6qh-g5x8
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-jfc2-q6qh-g5x8/GHSA-jfc2-q6qh-g5x8.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-jfc2-q6qh-g5x8
Aliases
Published
2026-05-13T21:32:06Z
Modified
2026-05-19T20:26:06.334145132Z
Severity
  • 8.2 (High) CVSS_V4 - 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 CVSS Calculator
Summary
Cowboy: Unbounded buffer accumulation in multipart header parsing causes denial of service in cowboy
Details

Allocation of Resources Without Limits or Throttling vulnerability in ninenines cowboy allows denial of service via unbounded buffer accumulation in multipart header parsing.

cowboyreq:readpart/3 in src/cowboyreq.erl accumulates incoming request bytes into a Buffer binary with no upper-bound check. When cowmultipart:parseheaders/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 bytesize(Acc) > Length guard present in the sibling function readpartbody/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.

Database specific
{
    "severity": "HIGH",
    "nvd_published_at": "2026-05-13T19:17:30Z",
    "github_reviewed": true,
    "cwe_ids": [
        "CWE-770"
    ],
    "github_reviewed_at": "2026-05-19T20:12:33Z"
}
References

Affected packages

Hex / cowboy

Package

Name
cowboy
Purl
pkg:hex/cowboy

Affected ranges

Type
SEMVER
Events
Introduced
2.0.0
Fixed
2.15.0

Affected versions

2.*
2.0.0
2.1.0
2.2.0
2.2.1
2.2.2
2.3.0
2.4.0
2.5.0
2.6.0
2.6.1
2.6.2
2.6.3
2.7.0
2.8.0
2.9.0
2.10.0
2.11.0
2.12.0
2.13.0
2.14.0
2.14.1
2.14.2

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-jfc2-q6qh-g5x8/GHSA-jfc2-q6qh-g5x8.json"