CVE-2026-8468 PUBLISHED

Unbounded buffer accumulation in multipart header parsing causes denial of service in plug

Assigner: EEF
Reserved: 13.05.2026 Published: 14.05.2026 Updated: 15.05.2026

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

'Elixir.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. An unauthenticated remote attacker can exhaust server memory by sending a crafted multipart/form-data request, causing a denial of service.

This issue affects plug from 1.4.0 before 1.15.4, 1.16.3, 1.17.1, 1.18.2, and 1.19.2.

Metrics

CVSS 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
CVSS Score: 8.2

Product Status

Vendor elixir-plug
Product plug
Versions Default: unaffected
  • affected from 1.4.0 to 1.15.4 (excl.)
  • affected from 1.16.0 to 1.16.3 (excl.)
  • affected from 1.17.0 to 1.17.1 (excl.)
  • affected from 1.18.0 to 1.18.2 (excl.)
  • affected from 1.19.0 to 1.19.2 (excl.)
Vendor elixir-plug
Product plug
Versions Default: unaffected
  • affected from c52b2f32c90bccd718202bafccb5f95594e30183 to * (excl.)

Affected Configurations

The application must use Plug.Parsers with the :multipart parser, or otherwise call Plug.Conn.read_part_headers/2 to process multipart/form-data request bodies. Deployments that do not handle multipart uploads are not affected.

Credits

  • José Valim finder
  • José Valim remediation developer
  • Jonatan Männchen analyst

References

Problem Types

  • CWE-770 Allocation of Resources Without Limits or Throttling CWE

Impacts

  • CAPEC-130 Excessive Allocation