CVE-2026-48809
Python vulnerability analysis and mitigation

Overview

CVE-2026-48809 is a denial-of-service vulnerability in python-engineio, a Python implementation of the Engine.IO realtime client and server, caused by missing payload size enforcement in two specific server configurations. Versions prior to 4.13.2 are affected; all releases from 0.1.0 through 4.13.1 are vulnerable. The vulnerability was originally published by the maintainer on May 23, 2026, added to the GitHub Advisory Database on June 26, 2026, and assigned CVE-2026-48809. It carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, Red Hat Bugzilla).

Technical details

The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): in two specific transport configurations, the server loads incoming message bodies into memory before validating the client's identity or checking the payload size against the configured maximum. The two vulnerable code paths are: (1) POST requests when using ASGI with the long-polling transport, and (2) WebSocket messages when using Aiohttp with the WebSocket transport. An unauthenticated remote attacker can exploit this by sending arbitrarily large payloads to either endpoint, forcing the server to allocate excessive memory without any prior authentication or size check (GitHub Advisory, PyPA Advisory DB).

Impact

Successful exploitation causes excessive, uncontrolled memory allocation on the server, which can degrade performance or crash the python-engineio process entirely, resulting in a denial of service for all connected clients. There is no confidentiality or integrity impact — the vulnerability is purely an availability issue. Applications relying on python-engineio for real-time communication (e.g., Socket.IO-based services) would be rendered unavailable during an attack (GitHub Advisory, Red Hat Bugzilla).

Exploitability

No public proof-of-concept exploit code or in-the-wild exploitation has been reported for this vulnerability. The NVD SSVC assessment classifies exploitation as "none" at time of publication, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. The EPSS score is approximately 0.279% (20th percentile), indicating a low near-term exploitation probability. However, the attack is fully automatable — it requires no authentication, no user interaction, and no special privileges — making it straightforward to weaponize against exposed instances (GitHub Advisory).

Exploitation steps

  1. Reconnaissance: Identify internet-facing services running python-engineio versions prior to 4.13.2, particularly those using ASGI with long-polling transport or Aiohttp with WebSocket transport. Tools like Shodan or Censys can help identify Engine.IO endpoints.
  2. Target the ASGI long-polling endpoint: Send repeated HTTP POST requests with oversized bodies to the Engine.IO polling endpoint (typically /engine.io/ or a configured path) without a valid session ID, causing the server to load the full body into memory before any authentication check.
  3. Target the Aiohttp WebSocket endpoint: Establish WebSocket connections to the Engine.IO WebSocket endpoint and send large messages before authentication is completed, triggering unbounded memory allocation in the Aiohttp layer.
  4. Sustain the attack: Repeat steps 2 and/or 3 in rapid succession (potentially from multiple sources) to exhaust available server memory, causing the process to slow significantly or crash, resulting in denial of service for legitimate users (GitHub Advisory).

Indicators of compromise

  • Network: Unusually high volume of HTTP POST requests to the Engine.IO polling endpoint (e.g., /engine.io/?transport=polling) with large Content-Length values from unauthenticated clients; large WebSocket frames arriving before session establishment on the Engine.IO WebSocket endpoint.
  • Logs: Server access logs showing repeated POST requests with oversized bodies from the same or rotating IP addresses; application logs showing memory allocation errors or out-of-memory exceptions in the python-engineio process.
  • Process: Rapid growth in memory consumption of the Python process hosting python-engineio; process restarts or crashes due to OOM (out-of-memory) conditions; elevated CPU usage from garbage collection triggered by excessive allocations.

Mitigation and workarounds

Upgrade python-engineio to version 4.13.2 or later, which enforces payload size limits before loading request bodies into memory for ASGI long-polling, and configures Aiohttp's maximum WebSocket payload size at the transport layer so oversized messages are discarded before reaching python-engineio. No configuration-based workaround is documented by the vendor; upgrading is the recommended and only confirmed remediation. SUSE has also issued a security update (SUSE-SU-2026:3085-1) for affected distributions (GitHub Advisory, Red Hat Bugzilla).

Community reactions

Red Hat tracked the issue via Bugzilla (Bug 2514281) with a high severity rating, and SUSE issued a security advisory (SUSE-SU-2026:3085-1) and openSUSE security announcement addressing the vulnerability. No notable independent researcher commentary or significant social media discussion has been identified beyond standard vulnerability database entries and Linux distribution security announcements (Red Hat Bugzilla).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-63003MEDIUM6.5
  • Python logoPython
  • django-cms
NoYesAug 20, 2026
CVE-2026-54624MEDIUM6.5
  • Python logoPython
  • django-cms
NoYesAug 20, 2026
CVE-2026-54622MEDIUM6.5
  • Python logoPython
  • django-cms
NoYesAug 20, 2026
CVE-2026-75526MEDIUM4.4
  • Python logoPython
  • django-cms
NoYesAug 20, 2026
CVE-2026-61663MEDIUM4.3
  • Python logoPython
  • django-cms
NoYesAug 20, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management