Skip to main content

socket.io-parser CVE-2026-69185

| EUVDEUVD-2026-52410 HIGH
Improper Input Validation (CWE-20)
2026-08-03 https://github.com/socketio/socket.io GHSA-2m8v-j782-fhvr
7.5
CVSS 3.1 · Vendor: https://github.com/socketio/socket.io
View

Attack ChainAIDerived

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

  1. Access
    Establish WebSocket connection to Socket.IO server
  2. Delivery
    Send binary packet declaring large attachment count
  3. Exploit
    Server Decoder allocates buffer awaiting attachments
  4. Execution
    Repeat with additional packets rapidly
  5. Persist
    Heap memory exhausted
  6. Impact
    Server process crashes or hangs

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

No special server configuration or feature flag is required. Any Socket.IO server using socket.io-parser 4.0.0-4.2.6 (socket.io@4.x), 3.4.0-3.4.4 (socket.io@2.x), or below 3.3.6 (socket.io-client@2.x) that accepts connections from untrusted network clients is exploitable. The CVSS vector AV:N/AC:L/PR:N/UI:N confirms remote unauthenticated exploitation against default configurations with no complexity barrier. Exploitation is limited to availability impact only - confidentiality and integrity are unaffected. The primary limiting factor is network access: if the Socket.IO port is firewalled to trusted clients or internal networks only, remote exploitation is prevented. Rate-limiting at the load-balancer or reverse-proxy layer for WebSocket connection establishment may slow but not prevent a determined attacker with persistent connection access.

Impact

The CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H scores 7.5, indicating a straightforward, unauthenticated, network-accessible denial-of-service with no complexity barrier. This assessment is consistent with the technical description - no credentials, configuration, or user interaction are needed. No EPSS score was supplied and KEV status is not confirmed, so exploitation probability cannot be quantified precisely. No public exploit code has been identified at time of analysis. Despite the absence of active exploitation evidence, the combination of zero authentication requirement, low attack complexity, and broad deployment of Socket.IO makes this a realistic operational risk for any publicly exposed Socket.IO endpoint. The input metadata tags this as 'Information Disclosure,' which is inconsistent with the actual vulnerability - the impact is purely availability (DoS); confidentiality and integrity are unaffected. Treat that tag as a data error when triaging.

Exploit ScenarioDerived

An unauthenticated attacker opens a WebSocket connection to a public Socket.IO server running an affected version and floods it with binary-type protocol packets each declaring a large, non-zero attachment count. The server's Decoder enters a waiting state for each packet's attachments, allocating heap memory that is never freed. Sustained over seconds to minutes, this exhausts the Node.js process heap, causing the server to crash or become unresponsive to all clients.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 03, 2026

Memory exhaustion via malformed binary attachment packets in the socket.io-parser npm library allows unauthenticated remote attackers to crash or hang Socket.IO servers. By sending crafted packets that declare a large number of pending binary attachments, an attacker causes the server's Decoder to allocate and hold buffers indefinitely, exhausting Node.js heap memory. The vendor advisory (GHSA-2m8v-j782-fhvr) confirms the impact and vendor-released fixed versions are available; no public exploit code or CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade socket.io-parser to a fixed version: 4.2.7 for socket.io@4.x and socket.io-client@4.x users, 3.4.5 for socket.io@2.x users, or 3.3.6 for socket.io-client@2.x users. Because socket.io-parser is typically a transitive dependency, running npm update socket.io or npm update socket.io-client to the latest respective major-version release will pull in the patched parser. Patch commits are available at https://github.com/socketio/socket.io/commit/7c6ef571a00656718e9e05e3b948fd1758b2a7b4 and https://github.com/socketio/socket.io/commit/9c6323e5cde41bd75df3379b5fc9293664a5f240. The vendor advisory explicitly states there is no workaround other than upgrading. As a temporary compensating control while upgrading, restrict Socket.IO port access via firewall or reverse-proxy ACLs to trusted IP ranges only - this reduces exposure but breaks legitimate use cases for public-facing services and should not substitute for patching.

Affected VersionsENISA

socket.io 3.4.0, < 3.4.5
socket.io 4.0.0, < 4.2.7
socket.io < 3.3.6

Affected Packages

npm socket.io-parser fix: 3.3.6, 3.4.5, 4.2.7
euvd socket_io fix: 3.3.6, 3.4.5, 4.2.7

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's binary message protocol, implemented by the socket.io-parser library (pkg:npm/socket.io-parser), uses a multi-packet model: a primary packet declares a count of binary blob attachments expected to follow, and the Decoder buffers them until all arrive before emitting the reconstructed message. CWE-20 (Improper Input Validation) is the root cause: the parser failed to enforce a lower bound of 1 on declared attachment counts, permitting zero-attachment binary packets to enter the buffering state without resolution, and did not cap or validate large attachment counts against resource limits. The commit diff at 7c6ef571 shows two specific code changes: removal of the zero-attachment early-emit path that previously bypassed proper validation, and tightening the attachment count check from n < 0 to n < 1. A sustained stream of such packets causes unbounded heap growth in the Node.js process.

Know when the next one hits your stack

  • 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 (https://github.com/socketio/socket.io) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Network-reachable with no authentication or complexity barrier; impact is availability-only with no confidentiality or integrity consequence, consistent with a remote DoS.

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
SUSE 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Red Hat 7.5 HIGH

Primary rating from Vendor (https://github.com/socketio/socket.io).

CVSS VectorVendor: https://github.com/socketio/socket.io

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

DescriptionCVE.org

Impact

A specially crafted Socket.IO packet can make the server wait for a large number of binary attachments and buffer them, which can be exploited to make the server run out of memory.

Patches

Version rangeUsed byFixed version
>=4.0.0 <4.2.7socket.io@4.x and socket.io-client@4.x4.2.7
>=3.4.0 <3.4.5socket.io@2.x3.4.5
<3.3.6socket.io-client@2.x3.3.6

Workarounds

There is no known workaround except upgrading to a safe version.

For more information

If you have any questions or comments about this advisory:

  • Open a discussion here

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

CVE-2026-69185 in socket.io-parser allows remote attackers to exhaust server memory and crash Socket.IO services, disrupting applications using vulnerable versions. This availability risk affects any organization using socket.io-parser without current patching. Remediation requires coordinated update within 7 days to minimize exposure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
High
widely used real-time WebSocket framework across Node.js ecosystem
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor 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 Yes
EPSS 0.3%
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

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected

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