Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Socket.IO polling endpoint
-
DeliverySend invalid binary POST (application/octet-stream)
-
ExploitServer fails to close HTTP response
-
ExecutionLeak socket and connection slot
-
PersistRepeat to exhaust sockets/FDs
-
ImpactLegitimate clients denied service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource release
|
| Exploitation Conditions | Exploitation requires that the target run the Engine.IO protocol v4 HTTP long-polling transport (the default polling fallback in affected socket.io/engine.io versions 4.1.0-6.6.6) and accept client POST requests; the specific trigger is an invalid binary POST body sent with Content-Type: application/octet-stream, which the server fails to close. No authentication and no user interaction are needed (PR:N/UI:N). Limiting factors: deployments configured for WebSocket-only transport are not exposed via this path, and endpoints fronted by proxies/WAFs that constrain POST content-types or enforce per-IP connection limits raise the effort required; the impact is confined to availability, so no data is read or altered. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) is internally consistent with the description: network-reachable, low-complexity, unauthenticated, no user interaction, and impact limited purely to availability (C:N/I:N). This is a genuine resource-exhaustion DoS, not a data-exposure issue - note the input Tags label it 'Information Disclosure,' which conflicts with the description and the C:N/I:N vector and should be disregarded as a mislabel. No EPSS score, KEV entry, or POC was provided, so exploitation likelihood signals are absent; realistically the attack is trivial to script but yields only service disruption, so prioritization should track exposure of the polling endpoint rather than crown-jewel risk. Priority is high for internet-facing realtime services relying on HTTP long-polling, and lower where only the WebSocket transport is used or the endpoint sits behind rate-limiting/connection caps. |
| Exploit ScenarioDerived | An attacker locates an internet-facing Socket.IO service that accepts the Engine.IO v4 HTTP polling transport and scripts a loop that repeatedly POSTs malformed binary bodies with Content-Type: application/octet-stream. Each request leaves an HTTP response and its socket open, so within minutes the server runs out of available connections and file descriptors and stops serving legitimate users. No authentication, user interaction, or POC is required - the low-complexity network vector makes this easy to automate. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 08, 2026
Denial of service in Socket.IO (Engine.IO server) from 4.1.0 before 6.6.7 lets a remote unauthenticated attacker exhaust server-side connections and sockets by sending invalid binary POST requests. When the Engine.IO v4 polling transport receives a malformed binary payload with Content-Type: application/octet-stream, it fails to close the HTTP response, leaking the underlying socket until connection and file-descriptor limits are reached. No public exploit identified at time of analysis; the flaw is fixed in engine.io 6.6.7.
RemediationAI
Vendor-released patch: engine.io 6.6.7 - upgrade the engine.io dependency (directly or transitively via socket.io) to 6.6.7 or later, per release https://github.com/socketio/socket.io/releases/tag/engine.io@6.6.7 and advisory GHSA-r635-g3xr-vw7x. Because engine.io is often a transitive dependency of socket.io, verify the resolved version in your lockfile after upgrading. Where immediate patching is not possible, compensating controls include disabling the HTTP long-polling transport and forcing WebSocket-only on the server (transports: ['websocket']), which removes the vulnerable POST path but breaks clients on networks that cannot use WebSocket; placing the endpoint behind a reverse proxy or WAF that rejects or size-limits POSTs with Content-Type: application/octet-stream and enforces per-IP connection/rate limits; and lowering server socket timeouts / maxHttpBufferSize and setting OS-level file-descriptor and connection caps so leaked sockets are reclaimed faster, at the cost of possibly dropping some legitimate slow clients.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Socket.IO is a widely used JavaScript library for bidirectional, low-latency realtime messaging between clients and servers, layered on top of the Engine.IO transport abstraction. Engine.IO supports both WebSocket and HTTP long-polling transports; when using the v4 polling transport, clients POST payloads to the server. The bug is a CWE-404 (Improper Resource Shutdown or Release): the server-side POST handler does not terminate/close the HTTP response object when it receives an invalid binary body under Content-Type: application/octet-stream. Because the response is never ended, the associated TCP socket and connection slot remain allocated, and repeated requests steadily consume the server's finite pool of sockets and file descriptors. The affected component is the Node.js engine.io server package (CPE cpe:2.3:a:socketio:socket.io); the fix is delivered as the engine.io@6.6.7 release rather than a socket.io top-level tag.
Know when Socket Io 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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Remote, unauthenticated, low-complexity POST to the polling endpoint with no interaction; impact is pure resource-exhaustion DoS, so A:H and C:N/I:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Socket.IO enables bidirectional and low-latency communication for every platform. From 4.1.0 before 6.6.7, Engine.IO protocol v4 polling transport does not properly close the HTTP response for invalid binary POST requests with Content-Type: application/octet-stream, allowing an unauthenticated attacker to exhaust server-side connections and sockets. This issue is fixed in version 6.6.7.
Executive ViewAI
Socket.IO (Engine.IO) servers running versions 4.1.0 through 6.6.6 are vulnerable to remote denial-of-service attacks that can exhaust server connections and resources, causing application unavailability. Unauthenticated attackers can trigger this vulnerability by sending malformed binary requests, requiring immediate patching of all affected systems. Organizations relying on Socket.IO for real-time communications must prioritize upgrading to version 6.6.7 to maintain service availability.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Denial of service in Engine.IO 6.5.0 through 6.6.6 (the transport layer beneath Socket.IO) lets remote unauthenticated a
Denial of service in Socket.IO Cluster Engine versions before 0.1.1 allows unauthenticated remote attackers to crash Nod
EUVD-2026-42313
GHSA-r635-g3xr-vw7x
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB