highVulnerability

CVE-2026-8468

### Summary An Allocation of Resources Without Limits or Throttling vulnerability in `Plug.Conn.read_part_headers/2` allows an unauthenticated attacker to exhaust server memory by sending a crafted `multipart/form-data` request, causing a denial of service. ### Details `Plug.Conn.read_part_headers/2` in `lib/plug/conn.ex` does not obey its `:length` parameter. There is no upper bound on the size of the accumulated buffer. By contrast, the sibling function `read_part_body` has an explicit `byte_size(acc) > length` guard that stops accumulation once a limit is reached. No such guard exists in `read_part_headers`. ### Impact This is a denial-of-service vulnerability. Any application using `Plug.Parsers` with the `:multipart` parser, or calling `Plug.Conn.read_part_headers/2` directly, is affected. An unauthenticated remote attacker can trigger the issue by sending crafted HTTP requests with no special privileges. ### References * Intro Commit: https://github.com/elixir-plug/plug/commit/c52b2f32c90bccd718202bafccb5f95594e30183 * Patch Commit: https://github.com/elixir-plug/plug/commit/d878b42efea9f12b243dc3e362a2ed048a798203

Properties

ghsa_id
GHSA-468c-vq7p-gh64
severity
high
summary
Plug: Unbounded buffer accumulation in multipart header parsing causes denial of service
epss_score
0.0062
cve_id
CVE-2026-8468
is_ghsa_only
false
ghsa_published
2026-05-20T15:35:13Z
source_url
https://github.com/advisories/GHSA-468c-vq7p-gh64
epss_percentile
0.47177
ghsa_updated
2026-05-20T15:35:14Z

Related Entities (5)

ENRICHED_BY (1)

[Source]FIRST EPSS

VULNERABLE_TO (1)

[Software]erlang/plug

AFFECTS (1)

[Software]erlang/plug

HAS_WEAKNESS (1)

[Weakness]Allocation of Resources Without Limits or Throttling

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph