Skip to main content

python-socketio CVE-2026-48804

| EUVDEUVD-2026-56894 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-06-26 https://github.com/miguelgrinberg/python-socketio GHSA-5w7q-77mv-v69f PYSEC-2026-3042
7.5
CVSS 3.1 · Vendor: https://github.com/miguelgrinberg/python-socketio
Share

Severity by source

Vendor (https://github.com/miguelgrinberg/python-socketio) 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

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.

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
HIGH
qualitative
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (https://github.com/miguelgrinberg/python-socketio).

CVSS VectorVendor: https://github.com/miguelgrinberg/python-socketio

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

Lifecycle Timeline

2
Source Code Evidence Fetched
Jun 26, 2026 - 21:22 vuln.today
Analysis Generated
Jun 26, 2026 - 21:22 vuln.today

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 17 pypi packages depend on python-socketio (5 direct, 12 indirect)

Ecosystem-wide dependent count for version 5.16.2.

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.

AnalysisAI

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.

Technical ContextAI

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.

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.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

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

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

Vendor 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

Share

CVE-2026-48804 vulnerability details – vuln.today

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