Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to Socket.IO server
-
DeliverySend binary EVENT declaring attachments
-
ExploitOmit one or more attachment frames
-
ExecutionServer buffers partial message in memory
-
PersistRepeat across many connections
-
ImpactExhaust server memory and crash 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 | Exploitation requires that the server accept binary EVENT or ACK messages from the attacker - in vulnerable versions (<= 5.16.1) this path is reachable without authentication, which is why the 5.16.2 fix limits binary packets to authenticated clients. The concrete trigger is sending a binary message that declares N attachments while intentionally omitting one or more attachment frames, leaving the message and received attachments buffered in memory; sustained impact requires many such incomplete messages or connections to accumulate memory. Limiting factors: deployments that already require authentication before accepting events, or that disallow/limit binary payloads, substantially reduce exposure; impact is availability-only (no data exposure), and effectiveness depends on the server's memory headroom and any external connection/size/timeout limits already in place. |
| 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) reflects a remotely reachable, low-complexity, availability-only impact with no confidentiality or integrity loss - consistent with a resource-exhaustion DoS rather than data compromise. The fact that the official fix restricts binary packets to authenticated clients implies the vulnerable default path was reachable pre-auth, supporting PR:N. No EPSS score, KEV entry, or POC was supplied, so exploitation probability cannot be quantified from the input; the absence of these signals plus an availability-only impact suggests this is a genuine but moderate-priority hardening fix rather than an emergency. The realistic risk is highest for internet-facing Socket.IO servers that accept binary events from unauthenticated or untrusted clients; servers that already gate connections behind authentication are far less exposed even before patching. |
| Exploit ScenarioDerived | An attacker connects to an internet-facing python-socketio server and emits a binary EVENT packet declaring multiple attachments but sends only some (or none) of the attachment frames, then opens many such connections and repeats. Each incomplete message and its buffered attachments remain resident in server memory, and with enough concurrent partial messages the worker's memory is exhausted, degrading or crashing the service. No public POC is referenced, but the attack is low-complexity and requires only the ability to speak the Socket.IO protocol. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
Memory-exhaustion denial of service in the python-socketio server (Socket.IO for Python, versions <= 5.16.1) lets remote clients pin server memory by sending binary EVENT or ACK packets while deliberately withholding one or more of the declared binary attachments. Because the server buffers the partial message and its received attachments in memory until all attachments arrive, an attacker can repeatedly open such incomplete messages to grow memory consumption unbounded and exhaust server resources. No public exploit identified at time of analysis; not listed in CISA KEV.
RemediationAI
Upgrade to python-socketio 5.16.2 (Vendor-released patch: 5.16.2), which only accepts binary packets from authenticated clients and deletes any partially received binary message held for a client when that client disconnects; install via pip install --upgrade python-socketio and pin >=5.16.2 in dependency manifests. Where immediate upgrade is not possible, the most effective compensating control is to require authentication before accepting connections or to reject/limit binary EVENT/ACK payloads at the application layer, since the fix itself keys on authentication - trade-off: this breaks legitimate anonymous binary messaging if your app relies on it. Additionally, place the server behind a reverse proxy or WAF that enforces per-connection message-size and rate limits and aggressive idle/connection timeouts to cap how long incomplete messages and their buffers can persist, and monitor process memory to recycle workers under pressure; the trade-off is that overly tight timeouts may drop slow but legitimate clients. See the advisory at https://github.com/miguelgrinberg/python-socketio/security/advisories/GHSA-5w7q-77mv-v69f for details.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Socket.IO is an event-driven, bidirectional client/server messaging protocol layered over Engine.IO/WebSocket transports; python-socketio is the canonical Python server/client implementation distributed on PyPI as python-socketio. The protocol allows binary payloads to be split across a leading packet that declares how many binary attachments will follow, plus the attachment frames themselves. The vulnerability is a textbook CWE-770 (Allocation of Resources Without Limits or Throttling): the server commits memory to hold the pending EVENT/ACK packet and its accumulating attachment buffers, but applies no cap, timeout, or per-client cleanup on messages whose attachment set never completes, so resources stay allocated indefinitely.
Know when Python 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
Remotely reachable binary path with no auth in vulnerable versions (AV:N/AC:L/PR:N/UI:N), availability-only memory exhaustion (A:H), no confidentiality or integrity impact and no scope change.
Primary rating from Vendor (https://github.com/miguelgrinberg/python-socketio).
CVSS VectorVendor: https://github.com/miguelgrinberg/python-socketio
DescriptionCVE.org
Impact
The python-socketio server stores binary EVENT and ACK messages in memory while it waits to receive their binary attachments. Once all the attachments are received, these messages are then processed. An attacker can submit a binary message and intentionally omit sending one or more of its attachments to cause the message along with the partial list of received attachments to stay in memory for a long time.
Patches
Version 5.16.2 takes the following measures to address this issue:
- Binary packets are only accepted from authenticated clients.
- When a client disconnects, the server checks if there is a partial binary message being held for the client and deletes it.
Blast Radius
ecosystem impact- 20 pypi packages depend on python-socketio (8 direct, 12 indirect)
Ecosystem-wide dependent count for version 5.16.2.
Articles & Coverage 1
Executive ViewAI
python-socketio (Socket.IO for Python) versions 5.16.1 and earlier contain a memory exhaustion vulnerability enabling remote attackers to force unbounded server memory consumption and cause denial of service. Organizations operating affected versions face direct risk of application unavailability and service disruption unless immediate mitigations are deployed.
Implement per-client connection and message limits with automatic timeout of incomplete binary packet buffers; deploy ingress-level rate limiting targeting binary Socket.IO frames; enable continuous memory monitoring with alerting thresholds for anomalous growth; restrict Socket.IO listener access to trusted client networks via firewall; configure application-level garbage collection tuning and memory pressure handling.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Same technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 SUSE Linux Enterprise High Performance Computing 15 SP7 SUSE Linux Enterprise Module for Python 3 15 SP7 SUSE Linux Enterprise Server 15 SP7 SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-56894
GHSA-5w7q-77mv-v69f
NVD
CVE.org
EPSS
VulDB
Exploit-DB