CVE-2026-8468
Unbounded buffer accumulation in multipart header parsing causes denial of service in plug
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.2
Unbounded buffer accumulation in multipart header parsing causes denial of service in plug
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.
- Record
CVE-2026-8468- CVSS 4.0
- 8.2 High
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 - Weakness
- CWE-770
- Updated
- 2026-11-02
EUVDEUVD-2026-30266
8.2
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.
- Record
EUVD-2026-30266- CVSS 4.0
- 8.2 High
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-468c-vq7p-gh64
8.2
Plug: Unbounded buffer accumulation in multipart header parsing causes denial of service
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
- Record
GHSA-468c-vq7p-gh64- CVSS 4.0
- 8.2 High
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 - Weakness
- CWE-770
- Updated
- 2026-11-02
NVD
8.2
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.
- Record
CVE-2026-8468- CVSS 4.0
- 8.2 High
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-770
- Updated
- 2026-11-02
OSV
8.2
Unbounded buffer accumulation in multipart header parsing causes denial of service in plug
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.
- Record
CVE-2026-8468- CVSS 4.0
- 8.2 High
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 - Weakness
- CWE-770
- Updated
- 2026-11-02
OSVEEF-CVE-2026-8468
8.2
Unbounded buffer accumulation in multipart header parsing causes denial of service in plug
Summary
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.
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.
- Record
EEF-CVE-2026-8468- CVSS 4.0
- 8.2 High
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 - Weakness
- CWE-770
- Updated
- 2026-11-02
OSVGHSA-468c-vq7p-gh64
8.2
Plug: Unbounded buffer accumulation in multipart header parsing causes denial of service
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
- Record
GHSA-468c-vq7p-gh64- CVSS 4.0
- 8.2 High
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 - Weakness
- CWE-770
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
plugHex |
1.4.0 up to 1.15.4 | 1.15.4 |
plugHex |
1.16.0 up to 1.16.3 | 1.16.3 |
plugHex |
1.17.0 up to 1.17.1 | 1.17.1 |
plugHex |
1.18.0 up to 1.18.2 | 1.18.2 |
plugHex |
1.19.0 up to 1.19.2 | 1.19.2 |
plugHex |
1.4.0 up to 1.15.4, 1.16.0 up to 1.16.3, 1.17.0 up to 1.17.1, 1.18.0 up to 1.18.2, 1.19.0 up to 1.19.2, plus listed versions 1.10.01.10.11.10.21.10.31.10.4 Show 45 moreShow less1.11.01.11.11.12.01.12.11.13.01.13.11.13.21.13.31.13.41.13.51.13.61.14.01.14.11.14.21.15.01.15.11.15.21.15.31.16.11.16.21.18.11.19.11.4.11.4.21.4.31.4.41.4.51.5.01.5.0-rc.01.5.0-rc.11.5.0-rc.21.5.11.6.01.6.11.6.21.6.31.6.41.7.01.7.11.7.21.8.01.8.11.8.21.8.31.9.0 |
1.15.41.16.31.17.11.18.21.19.2 |
plugHex |
1.4.0 up to 1.15.4, plus listed versions 1.10.01.10.11.10.21.10.31.10.4 Show 41 moreShow less1.11.01.11.11.12.01.12.11.13.01.13.11.13.21.13.31.13.41.13.51.13.61.14.01.14.11.14.21.15.01.15.11.15.21.15.31.4.11.4.21.4.31.4.41.4.51.5.01.5.0-rc.01.5.0-rc.11.5.0-rc.21.5.11.6.01.6.11.6.21.6.31.6.41.7.01.7.11.7.21.8.01.8.11.8.21.8.31.9.0 |
1.15.4 |
plugHex |
1.16.0 up to 1.16.3, plus listed versions 1.16.11.16.2 |
1.16.3 |
plugHex |
1.18.0 up to 1.18.2, plus listed versions 1.18.1 |
1.18.2 |
plugHex |
1.19.0 up to 1.19.2, plus listed versions 1.19.1 |
1.19.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-8468 is a high vulnerability (CVSS 8.2) in Elixir-plug Plug, published May 14, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.62%, the 49th percentile. Fixed in plug 1.15.4.
References
github.com/elixir-plug/plug/security/advisories/GHSA-468c-vq7p-gh64
cna.erlef.org/cves/CVE-2026-8468.html
osv.dev/vulnerability/EEF-CVE-2026-8468
cna.erlef.org/cves/CVE-2026-8466.html
github.com/elixir-plug/plug/commit/2cb7958d33030aa826b0c7404375844d4593d43a
github.com/elixir-plug/plug/commit/aa69c5ece99c40ded88b8c6581ecc86664b0b734
Show 10 moreShow less
github.com/elixir-plug/plug/commit/d5dfffe25e975585227b1b85d247b0d14164bc45
github.com/elixir-plug/plug/commit/df812a1527bae9e941965e897308a2b8bbf83a94
github.com/elixir-plug/plug/commit/33858427c7f2737d560a2e40a0c9a9270d77d1d7
nvd.nist.gov/vuln/detail/CVE-2026-8468
github.com/advisories/GHSA-468c-vq7p-gh64
github.com
repo.hex.pm
github.com/CVEProject/cvelistV5/tree/main/cves/2026/8xxx/CVE-2026-8468.json
github.com/elixir-plug/plug
hex.pm/packages/plug