{"id":"CVE-2026-8468","summary":"Unbounded buffer accumulation in multipart header parsing causes denial of service in plug","details":"Allocation of Resources Without Limits or Throttling vulnerability in plug_project plug allows denial of service via unbounded buffer accumulation in multipart header parsing.\n\n'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) \u003e 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.\n\nThis issue affects plug from 1.4.0 before 1.15.4, 1.16.3, 1.17.1, 1.18.2, and 1.19.2.","aliases":["EEF-CVE-2026-8468","GHSA-468c-vq7p-gh64"],"modified":"2026-07-08T08:13:52.251275428Z","published":"2026-05-14T10:29:51.062Z","database_specific":{"cwe_ids":["CWE-770"],"cna_assigner":"EEF","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/8xxx/CVE-2026-8468.json","unresolved_ranges":[{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"c52b2f32c90bccd718202bafccb5f95594e30183"},{"fixed":"*"}]}]},"references":[{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-8466.html"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-8468.html"},{"type":"WEB","url":"https://github.com"},{"type":"WEB","url":"https://osv.dev/vulnerability/EEF-CVE-2026-8468"},{"type":"WEB","url":"https://repo.hex.pm"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/8xxx/CVE-2026-8468.json"},{"type":"ADVISORY","url":"https://github.com/elixir-plug/plug/security/advisories/GHSA-468c-vq7p-gh64"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-8468"},{"type":"FIX","url":"https://github.com/elixir-plug/plug/commit/2cb7958d33030aa826b0c7404375844d4593d43a"},{"type":"FIX","url":"https://github.com/elixir-plug/plug/commit/33858427c7f2737d560a2e40a0c9a9270d77d1d7"},{"type":"FIX","url":"https://github.com/elixir-plug/plug/commit/aa69c5ece99c40ded88b8c6581ecc86664b0b734"},{"type":"FIX","url":"https://github.com/elixir-plug/plug/commit/d5dfffe25e975585227b1b85d247b0d14164bc45"},{"type":"FIX","url":"https://github.com/elixir-plug/plug/commit/df812a1527bae9e941965e897308a2b8bbf83a94"},{"type":"PACKAGE","url":"https://github.com/elixir-plug/plug"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/elixir-plug/plug","events":[{"introduced":"f16a7526eb87c8953648dea2b7c57fe0c31e57f7"},{"fixed":"2cb7958d33030aa826b0c7404375844d4593d43a"},{"fixed":"33858427c7f2737d560a2e40a0c9a9270d77d1d7"},{"fixed":"aa69c5ece99c40ded88b8c6581ecc86664b0b734"},{"fixed":"d5dfffe25e975585227b1b85d247b0d14164bc45"},{"fixed":"df812a1527bae9e941965e897308a2b8bbf83a94"}],"database_specific":{"source":["DESCRIPTION","REFERENCES"],"extracted_events":[{"introduced":"1.4.0"},{"fixed":"1.15.4"}]}}],"versions":["v1.15.3","v1.16.2","v1.17.0","v1.18.1","v1.19.1","v1.18.0","v1.16.1","v1.16.0","v1.15.2","v1.15.1","v1.15.0","v1.14.2","v1.14.1","v1.14.0","v1.13.5","v1.13.4","v1.13.3","v1.13.2","v1.13.1","v1.13.0","v1.12.1","v1.12.0","v1.11.1","v1.11.0","v1.10.3","v1.10.2","v1.10.1","v1.10.0","v1.9.0","v1.8.2","v1.8.1","v1.8.0","v1.7.2","v1.7.1","v1.7.0","v1.6.1","v1.6.0","v1.5.1","v1.5.0","v1.5.0-rc.2","v1.5.0-rc.1","v1.4.3","v1.5.0-rc.0","v1.4.2","v1.4.1","v1.4.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-8468.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"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"}]}