Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| elixir-plug | plug | 1.4.0 – < 1.15.4, 1.16.0 – < 1.16.3, 1.17.0 – < 1.17.1, 1.18.0 – < 1.18.2, 1.19.0 – < 1.19.2 | 1.15.4 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Hex | plug | >= 1.4.0, < 1.15.4 · >= 1.16.0, < 1.16.3 · >= 1.17.0, < 1.17.1 · >= 1.18.0, < 1.18.2 · >= 1.19.0, < 1.19.2 | 1.15.4, 1.16.3, 1.17.1, 1.18.2, 1.19.2 | EEF-CVE-2026-8468 |
| Hex | plug | >= 1.4.0, < 1.15.4 | 1.15.4 | GHSA-468c-vq7p-gh64 |
| Hex | plug | >= 1.16.0, < 1.16.3 | 1.16.3 | GHSA-468c-vq7p-gh64 |
| Hex | plug | >= 1.17.0, < 1.17.1 | 1.17.1 | GHSA-468c-vq7p-gh64 |
| Hex | plug | >= 1.18.0, < 1.18.2 | 1.18.2 | GHSA-468c-vq7p-gh64 |
| Hex | plug | >= 1.19.0, < 1.19.2 | 1.19.2 | GHSA-468c-vq7p-gh64 |
References
- https://github.com/elixir-plug/plug/security/advisories/GHSA-468c-vq7p-gh64 vendor-advisory related
- https://cna.erlef.org/cves/CVE-2026-8468.html related
- https://osv.dev/vulnerability/EEF-CVE-2026-8468 related
- https://cna.erlef.org/cves/CVE-2026-8466.html related
- https://github.com/elixir-plug/plug/commit/2cb7958d33030aa826b0c7404375844d4593d43a patch
- https://github.com/elixir-plug/plug/commit/aa69c5ece99c40ded88b8c6581ecc86664b0b734 patch
- https://github.com/elixir-plug/plug/commit/d5dfffe25e975585227b1b85d247b0d14164bc45 patch
- https://github.com/elixir-plug/plug/commit/df812a1527bae9e941965e897308a2b8bbf83a94 patch
- https://github.com/elixir-plug/plug/commit/33858427c7f2737d560a2e40a0c9a9270d77d1d7 patch