CVE-2026-32689 Details
Description
Allocation of Resources Without Limits or Throttling vulnerability in phoenixframework phoenix allows a denial of service via the long-poll transport's NDJSON body handling. In 'Elixir.Phoenix.Transports.LongPoll':publish/4, when a POST request is received with Content-Type: application/x-ndjson, the request body is split on newline characters using String.split/2 with no limit on the number of resulting segments. An attacker can send a body consisting entirely of newline bytes, causing a 1:1 amplification into a list of empty binaries — a 1 MB body produces approximately one million list elements, an 8 MB body approximately 8.4 million. Each element is then walked by Enum.map, materializing another list of the same size. This exhausts BEAM memory and schedulers, crashing the node and terminating all active sessions. A session token required to reach the vulnerable endpoint is freely obtainable by any client via an unauthenticated GET request to the same URL with a matching Origin header, making this attack effectively unauthenticated. This issue affects phoenix: from 1.7.0 before 1.7.22 and 1.8.6.
A denial-of-service vulnerability has been identified in the Phoenix Framework, specifically in versions 1.7.0 prior to 1.7.22 and 1.8.0 prior to 1.8.6. The issue arises in the long-poll transport's handling of NDJSON bodies in POST requests. When a request with 'Content-Type: application/x-ndjson' is received, the body is split on newline characters without any limit on the number of segments. This allows an attacker to send a body filled with newline bytes, leading to a significant amplification effect—approximately one million empty binary elements for every megabyte of data sent. The vulnerability is exacerbated by the fact that the session token required to access the endpoint can be obtained through an unauthenticated GET request, making the attack effectively unauthenticated.
Users can upgrade to Phoenix versions 1.7.22 or 1.8.6, where this vulnerability has been patched. Alternatively, the long-poll transport can be disabled on all Phoenix.Socket declarations by setting longpoll: false, though this will prevent connections from clients that cannot use WebSockets.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed May 5, 2026CISA-ADP
Assessed May 5, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://cna.erlef.org/cves/CVE-2026-32689.html | EEF | AdvisoryBundleRemedy |
| https://github.com/phoenixframework/phoenix/commit/1a67c61ff9ce0a7711662ac7354861917a7c80f7 | EEF | Source CodeVendor |
| https://github.com/phoenixframework/phoenix/commit/912ea181fd247c21dbcc49fb97d0053b947d81bf | EEF | Source CodeVendor |
| https://github.com/phoenixframework/phoenix/security/advisories/GHSA-628h-q48j-jr6q | EEF | AdvisoryRemedyVendor |
| https://osv.dev/vulnerability/EEF-CVE-2026-32689 | EEF | AdvisoryBundleRemedy |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-770 | Allocation of Resources Without Limits or Throttling | EEF |
Affected Products
| Product | Versions |
|---|---|
| phoenix | All versions |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | EEF |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| May 5, 2026 | New CVE Received | EEF |
Volerion