Skip to main content

Phoenix Framework EUVDEUVD-2026-42049

| CVE-2026-56811 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-07-07 EEF GHSA-6983-jfq8-485w
8.7
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Open single WebSocket/LongPoll connection
  2. Delivery
    Stream unbounded phx_join messages
  3. Exploit
    Spawn hundreds of thousands of channel processes
  4. Execution
    Exhaust BEAM process table
  5. Impact
    Node-wide denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The target endpoint must mount a Phoenix socket (Phoenix.Socket) that exposes a reachable channel transport - either WebSocket or LongPoll - to the attacker; endpoints without a mounted channel-capable socket are not affected. Given AV:N/AC:L/AT:N/PR:N/UI:N, there is no authentication, user interaction, or special configuration barrier on a default channel-enabled deployment: a single unauthenticated client can trigger it. The key limiting factor is exposure - only applications that actually serve Phoenix channels over WebSocket/LongPoll to untrusted networks are exploitable - and the affected version must be pre-1.5.15/1.6.17/1.7.24/1.8.9; note that once patched, the :max_channels_per_transport default of 100 caps the abuse. Standard network-layer defenses (per-IP connection caps, connection rate limiting) do NOT limit exploitation because the amplification occurs inside one connection.

Impact

The signals are internally consistent for a high-impact availability bug. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H) confirms remote, unauthenticated, no-interaction exploitation with high availability impact and no confidentiality or integrity impact, yielding the 8.7 score. There is no CISA KEV listing and no POC referenced, so this is not confirmed actively exploited - treat it as a real, easily-triggered DoS rather than an in-the-wild threat. The notable amplifying factor, called out by the vendor, is that the attack happens inside one connection, so conventional per-IP connection caps and network-layer rate limiting do NOT mitigate it - this raises real-world priority above a typical volumetric DoS for anyone exposing Phoenix channels to untrusted clients. No EPSS score was provided in the input, so probabilistic exploitation likelihood cannot be quoted; prioritize based on the ease of exploitation and public-facing exposure of the socket endpoint instead.

Exploit ScenarioDerived

An unauthenticated attacker opens a single WebSocket (or LongPoll) connection to a public Phoenix endpoint that mounts a socket, then rapidly streams phx_join messages down that one connection, each spawning a persistent channel process. Within one connection the attacker spawns hundreds of thousands of processes until the BEAM process table is exhausted, at which point the node can no longer start processes and service is denied to all legitimate users. No exploit code was referenced in the provided data, but the single-connection amplification means the attack requires only trivial scripting and bypasses connection-count rate limits.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 07, 2026

Denial of service in the Phoenix Framework (Elixir) affects any endpoint mounting a Phoenix.Socket with a reachable WebSocket or LongPoll channel transport, in versions from 0.11.0 up to the fixed 1.5.15, 1.6.17, 1.7.24, and 1.8.9. Because transports place no cap on channels joined per connection, one unauthenticated client can stream unlimited phx_join messages down a single connection to spawn hundreds of thousands of channel processes and exhaust the BEAM process table, taking the whole node offline. Rated CVSS 4.0 8.7 (availability-only impact); no public exploit identified at time of analysis, though the mechanics are described in detail in the vendor advisory.

RemediationAI

Vendor-released patch: upgrade to the fixed release for your branch - 1.5.15, 1.6.17, 1.7.24, or 1.8.9 (or any later release) - per advisory GHSA-6983-jfq8-485w (https://github.com/phoenixframework/phoenix/security/advisories/GHSA-6983-jfq8-485w). The fix introduces a :max_channels_per_transport option that defaults to 100, bounding channels per transport process; review this default and tune it to your legitimate multiplexing needs, since applications that intentionally join many channels over one socket may need a higher value (raising it too far weakens the protection). Fix commits are c498ba8cf49f6accbbd0c643a5340b58db891218, d19ca0a8d9f82c130b7ed339b9f033433e2dea5e, a612100cd8a4279091abc1a2ef8fb98a6d01c0a1, and 16e295d2fccab185d1292322e2bee5d46c725c8a. If you cannot upgrade immediately, the effective compensating control is to bound BEAM resources and channel growth: raise the node's +P process limit ceiling and monitor process counts to fail loudly rather than silently exhausting, restrict or authenticate access to the socket endpoint so only trusted clients can send phx_join, or disable the WebSocket/LongPoll transport on endpoints that do not require real-time channels (trade-off: this breaks live features). Note that per-connection rate limiting at a load balancer will NOT help, since the amplification occurs within a single connection.

Affected VersionsENISA

phoenix 1.7.0 <1.7.24
phoenix 1.8.0 <1.8.9
phoenix 14a297e88023cb280a577962a49a0bbdeef9f4eb <*
phoenix 0.11.0 <1.5.15
phoenix 1.6.0 <1.6.17

Affected Packages

euvd phoenix fix: 1.5.15, 1.6.17, 1.7.24, 1.8.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Phoenix is the dominant web framework for the Elixir language, running on the BEAM (Erlang virtual machine), where each channel and each socket connection is a lightweight process. Real-time features are delivered through Phoenix.Socket transports (WebSocket and LongPoll), and clients multiplex logical 'channels' over a single transport by sending phx_join messages, each handled by Elixir.Phoenix.Socket:handle_in/4 in lib/phoenix/socket.ex. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the socket process accepted an unbounded number of channel joins per connection, and every join starts a persistent channel process. Because the BEAM enforces a global maximum process count per node, unbounded per-connection channel spawning lets a single connection consume the node-wide process table rather than just its own connection's resources.

Know when Phoenix gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (EEF) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remote, unauthenticated, low-complexity single-connection abuse of a default channel transport with no interaction; pure availability impact, so C:N/I:N/A:H.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Allocation of Resources Without Limits or Throttling vulnerability in phoenixframework phoenix (Phoenix.Socket module) allows an unauthenticated attacker to cause a denial of service against any endpoint that mounts a Phoenix socket with a reachable channel transport (WebSocket or LongPoll).

This vulnerability is associated with program files lib/phoenix/socket.ex and program routine 'Elixir.Phoenix.Socket':handle_in/4.

Phoenix transports do not limit the number of channels that a single transport process may join. Every phx_join message a client sends over one connection starts a persistent channel process, and the socket process accepts an unbounded number of them. A single unauthenticated client can therefore open one WebSocket or LongPoll connection and stream a large number of phx_join messages, spawning hundreds of thousands of channel processes over that one connection and eventually reaching the BEAM maximum process limit. Once the process table is exhausted the virtual machine can no longer start new processes, denying service to legitimate traffic across the whole node. Because the amplification happens inside a single connection, network-layer connection caps and rate limiting do not mitigate it.

The fix adds a :max_channels_per_transport option (default 100) that bounds the number of channels a single transport process can join, forcing abusive clients to open many connections instead, where external load balancers and reverse proxies can throttle them.

This issue affects phoenix: from 0.11.0 before 1.5.15, 1.6.17, 1.7.24, and 1.8.9.

Executive ViewAI

Why It Matters

Phoenix Framework versions prior to 1.5.15, 1.6.17, 1.7.24, and 1.8.9 contain a denial-of-service vulnerability allowing a single unauthenticated attacker to exhaust server resources and crash production application nodes through unrestricted WebSocket channel spawning. Organizations deploying Phoenix with exposed WebSocket or LongPoll endpoints face immediate risk of complete application unavailability with no authentication barrier required.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Medium
dominant framework within the smaller Elixir/BEAM web ecosystem
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy