Every CVE Search/ Get API key

CVE-2026-48809

python-engineio has possible denial of service due to maximum payload size sometimes not being enforced

7.5 HighFix available

python-engineio is a Python implementation of the Engine.IO realtime client and server. Versions prior to 4.13.2 have two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are POST requests, when using ASGI with the long polling transport and WebSocket messages, when using Aiohttp with the WebSocket transport. Version 4.13.2 addresses this issue. ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded. Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.49%Up 0.2 points since Aug 12, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

python-engineio has possible denial of service due to maximum payload size sometimes not being enforced

python-engineio is a Python implementation of the Engine.IO realtime client and server. Versions prior to 4.13.2 have two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are POST requests, when using ASGI with the long polling transport and WebSocket messages, when using Aiohttp with the WebSocket transport. Version 4.13.2 addresses this issue. ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded. Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.

Record
CVE-2026-48809
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
EUVDEUVD-2026-56854 7.5

python-engineio is a Python implementation of the Engine.IO realtime client and server. Versions prior to 4.13.2 have two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are POST requests, when using ASGI with the long polling transport and WebSocket messages, when using Aiohttp with the WebSocket transport. Version 4.13.2 addresses this issue. ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded. Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.

Record
EUVD-2026-56854
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-m9gh-vj53-gvh9 7.5

python-engineio has possible denial of service due to maximum payload size sometimes not being enforced

Impact

There are two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are:

  • POST requests, when using ASGI with the long polling transport
  • WebSocket messages, when using Aiohttp with the WebSocket transport

Patches

Version 4.13.2 addresses this issue as follows:

  • ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded.
  • Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.
Record
GHSA-m9gh-vj53-gvh9
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
NVD 7.5

python-engineio is a Python implementation of the Engine.IO realtime client and server. Versions prior to 4.13.2 have two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are POST requests, when using ASGI with the long polling transport and WebSocket messages, when using Aiohttp with the WebSocket transport. Version 4.13.2 addresses this issue. ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded. Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.

Record
CVE-2026-48809
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSV 7.5

python-engineio has possible denial of service due to maximum payload size sometimes not being enforced

python-engineio is a Python implementation of the Engine.IO realtime client and server. Versions prior to 4.13.2 have two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are POST requests, when using ASGI with the long polling transport and WebSocket messages, when using Aiohttp with the WebSocket transport. Version 4.13.2 addresses this issue. ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded. Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.

Record
CVE-2026-48809
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSVDEBIAN-CVE-2026-48809 7.5

python-engineio is a Python implementation of the Engine.IO realtime client and server. Versions prior to 4.13.2 have two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are POST requests, when using ASGI with the long polling transport and WebSocket messages, when using Aiohttp with the WebSocket transport. Version 4.13.2 addresses this issue. ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded. Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.

Record
DEBIAN-CVE-2026-48809
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 7 moreShow less
OSVGHSA-m9gh-vj53-gvh9 7.5

python-engineio has possible denial of service due to maximum payload size sometimes not being enforced

Impact

There are two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are:

  • POST requests, when using ASGI with the long polling transport
  • WebSocket messages, when using Aiohttp with the WebSocket transport

Patches

Version 4.13.2 addresses this issue as follows:

  • ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded.
  • Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.
Record
GHSA-m9gh-vj53-gvh9
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSVPYSEC-2026-3033 7.5

python-engineio has possible denial of service due to maximum payload size sometimes not being enforced

Impact

There are two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are:

  • POST requests, when using ASGI with the long polling transport
  • WebSocket messages, when using Aiohttp with the WebSocket transport

Patches

Version 4.13.2 addresses this issue as follows:

  • ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded.
  • Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.
Record
PYSEC-2026-3033
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-48809 7.5

python-engineio is a Python implementation of the Engine.IO realtime client and server. Versions prior to 4.13.2 have two specific configurations of the python-engineio server in which the size of incoming messages is not checked before the messages are loaded into memory. An attacker can take advantage of these to cause unnecessary memory allocations in the python-engineio server. The two cases are POST requests, when using ASGI with the long polling transport and WebSocket messages, when using Aiohttp with the WebSocket transport. Version 4.13.2 addresses this issue. ASGI severs now only load the body of incoming requests into memory after the client is confirmed to be known and authenticated, and the payload size is below the maximum allowed size. Requests that do not comply with these requirements are discarded. Aiohttp servers configure the maximum payload size in the underlying WebSocket layer from Aiohttp, so that large messages are discarded by Aiohttp before they are delivered to python-engineio.

Record
UBUNTU-CVE-2026-48809
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVopenSUSE-SU-2026:11170-1 No score

python311-python-engineio-4.13.3-1.1 on GA media

These are all security issues fixed in the python311-python-engineio-4.13.3-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11170-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:21182-1 No score

Security update for python-python-engineio

This update for python-python-engineio fixes the following issues:

Changes in python-python-engineio:

  • CVE-2026-48802: remote user can cause the creation of unnecessary background threads in the server through the heartbeat mechanism and cause a DoS (bsc#1269544)
  • CVE-2026-48809: size of incoming messages is not checked before they are loaded into memory and allows remote users to cause a DoS via excessive memory allocation (bsc#1269545)
Record
openSUSE-SU-2026:21182-1
Updated
2026-11-02
OSVROOT-APP-PYPI-CVE-2026-48809 No score

CVE-2026-48809 in rootio-python-engineio - Patched by Root

Root has patched CVE-2026-48809 in the rootio-python-engineio package for Root:PyPI. Multiple fixed versions available.

Record
ROOT-APP-PYPI-CVE-2026-48809
Updated
2026-11-02
OSVSUSE-SU-2026:3085-1 No score

Security update for python-python-engineio

This update for python-python-engineio fixes the following issues:

  • CVE-2026-48802: remote user can cause the creation of unnecessary background threads in the server through the heartbeat mechanism and cause a DoS (bsc#1269544).
  • CVE-2026-48809: size of incoming messages is not checked before they are loaded into memory and allows remote users to cause a DoS via excessive memory allocation (bsc#1269545).
Record
SUSE-SU-2026:3085-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
python-engineio
PyPI
through 4.13.1
4.13.2
python-engineio
Debian:12
All versions, plus listed versions
4.11.1-0.14.11.2-14.12.1-14.12.1-24.13.0-1
Show 6 moreShow less
4.13.0-24.14.0-14.3.4-24.3.4-2.14.9.0-14.9.0-2
None known
python-engineio
Debian:13
All versions, plus listed versions
4.11.2-14.12.1-14.12.1-24.13.0-14.13.0-24.14.0-1
None known
python-engineio
Debian:14
before 4.14.0-1, plus listed versions
4.11.2-14.12.1-14.12.1-24.13.0-14.13.0-2
4.14.0-1
python-engineio
PyPI
before 4.13.2, plus listed versions
0.1.00.2.00.3.00.3.10.4.0
Show 45 moreShow less
0.5.00.5.10.6.00.6.10.6.20.6.30.6.40.6.50.6.60.6.70.6.80.6.90.7.00.7.10.7.20.8.00.8.10.8.20.8.30.8.40.8.50.8.60.8.70.8.80.9.00.9.10.9.21.0.01.0.11.0.21.0.31.0.41.1.01.1.11.1.21.2.01.2.11.2.21.2.31.2.41.3.01.3.11.3.21.4.01.5.0
4.13.2
rootio-python-engineio
Root:PyPI
before 4.13.1+root.io.1
4.13.1+root.io.1
python-python-engineio
SUSE:Linux Enterprise Module for Python 3 15 SP7
From an advisory covering 2 CVEs
before 4.3.4-150600.3.3.1
4.3.4-150600.3.3.1
python-python-engineio
SUSE:Linux Enterprise Server 15 SP6-LTSS
From an advisory covering 2 CVEs
before 4.3.4-150600.3.3.1
4.3.4-150600.3.3.1
python-python-engineio
SUSE:Linux Enterprise Server for SAP Applications 15 SP6
From an advisory covering 2 CVEs
before 4.3.4-150600.3.3.1
4.3.4-150600.3.3.1
python-engineio
Ubuntu:18.04:LTS
All versions, plus listed versions
1.6.1-1
None known
Show 7 moreShow less
Affected packages
PackageAffectedFixed
python-engineio
Ubuntu:20.04:LTS
All versions, plus listed versions
3.0.0+dfsg-13.11.1-1
None known
python-engineio
Ubuntu:22.04:LTS
All versions, plus listed versions
4.0.0-1
None known
python-engineio
Ubuntu:24.04:LTS
All versions, plus listed versions
4.3.4-2
None known
python-engineio
Ubuntu:26.10
All versions, plus listed versions
4.13.0-2
None known
python-engineio
Ubuntu:26.04:LTS
All versions, plus listed versions
4.12.1-24.13.0-2
None known
python-python-engineio
openSUSE:Tumbleweed
before 4.13.3-1.1
4.13.3-1.1
python-python-engineio
openSUSE:Leap 16.0
From an advisory covering 2 CVEs
before 4.12.0-bp160.2.1
4.12.0-bp160.2.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-48809 is a high vulnerability (CVSS 7.5) in Miguelgrinberg Python-engineio, published June 26, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.49%, the 42nd percentile. Fixed in python-engineio 4.13.2.

References

Show 9 moreShow less
This page doesn't list everything

Left out here: 93 versions. The JSON record has them.

MoveEnter Open