Every CVE Search/ Get API key

CVE-2026-48802

python-engineio has unbound thread allocation that can cause denial of service

7.5 HighFix available

python-engineio is a Python implementation of the Engine.IO realtime client and server. Prior to version 4.13.2, an attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet. This issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case. Version 4.13.2 addresses this issue as follows: The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler; and the server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.

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.57%Up 0.3 points since Aug 12, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

python-engineio has unbound thread allocation that can cause denial of service

python-engineio is a Python implementation of the Engine.IO realtime client and server. Prior to version 4.13.2, an attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet. This issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case. Version 4.13.2 addresses this issue as follows: The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler; and the server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.

Record
CVE-2026-48802
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-56859 7.5

python-engineio is a Python implementation of the Engine.IO realtime client and server. Prior to version 4.13.2, an attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet. This issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case. Version 4.13.2 addresses this issue as follows: The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler; and the server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.

Record
EUVD-2026-56859
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-cgwc-pv48-fhj5 7.5

python-engineio has unbound thread allocation that can cause denial of service

Impact

An attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet.

Note: this issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case.

Patches

Version 4.13.2 addresses this issue as follows:

  • The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler.
  • The server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.
Record
GHSA-cgwc-pv48-fhj5
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. Prior to version 4.13.2, an attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet. This issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case. Version 4.13.2 addresses this issue as follows: The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler; and the server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.

Record
CVE-2026-48802
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 unbound thread allocation that can cause denial of service

python-engineio is a Python implementation of the Engine.IO realtime client and server. Prior to version 4.13.2, an attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet. This issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case. Version 4.13.2 addresses this issue as follows: The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler; and the server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.

Record
CVE-2026-48802
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-48802 7.5

python-engineio is a Python implementation of the Engine.IO realtime client and server. Prior to version 4.13.2, an attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet. This issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case. Version 4.13.2 addresses this issue as follows: The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler; and the server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.

Record
DEBIAN-CVE-2026-48802
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 6 moreShow less
OSVGHSA-cgwc-pv48-fhj5 7.5

python-engineio has unbound thread allocation that can cause denial of service

Impact

An attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet.

Note: this issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case.

Patches

Version 4.13.2 addresses this issue as follows:

  • The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler.
  • The server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.
Record
GHSA-cgwc-pv48-fhj5
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-3032 7.5

python-engineio has unbound thread allocation that can cause denial of service

Impact

An attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet.

Note: this issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case.

Patches

Version 4.13.2 addresses this issue as follows:

  • The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler.
  • The server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.
Record
PYSEC-2026-3032
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-48802 7.5

python-engineio is a Python implementation of the Engine.IO realtime client and server. Prior to version 4.13.2, an attacker can cause the creation of unnecessary background threads in the python-engineio server by exploiting the heartbeat mechanism, which launches a thread when a new connection is received, and when the client sends a PONG packet. This issue primarily affects synchronous servers. Asynchronous servers allocate background tasks instead of physical threads, which are lightweight and less likely to cause denial of service. However, the fix that was implemented was also applied to the asynchronous case. Version 4.13.2 addresses this issue as follows: The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the connect handler; and the server now ensures that there is only one background heatbeat thread (or async task) per client at a given point in time. Out of sequence PONG packets are now discarded when an active heartbeat thread is already running.

Record
UBUNTU-CVE-2026-48802
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: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-48802 No score

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

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

Record
ROOT-APP-PYPI-CVE-2026-48802
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 6 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: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-48802 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.57%, the 47th 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