Find a vulnerability
Search criteria
Related vulnerabilities
GHSA-CGWC-PV48-FHJ5
Vulnerability from github – Published: 2026-06-26 20:51 – Updated: 2026-06-26 20:51Impact
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
connecthandler. - 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.
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 4.13.1"
},
"package": {
"ecosystem": "PyPI",
"name": "python-engineio"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "4.13.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-48802"
],
"database_specific": {
"cwe_ids": [
"CWE-770"
],
"github_reviewed": true,
"github_reviewed_at": "2026-06-26T20:51:37Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "### Impact\nAn 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.\n\nNote: 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.\n\n### Patches\nVersion 4.13.2 addresses this issue as follows:\n\n- The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the `connect` handler.\n- 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.",
"id": "GHSA-cgwc-pv48-fhj5",
"modified": "2026-06-26T20:51:37Z",
"published": "2026-06-26T20:51:37Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/miguelgrinberg/python-engineio/security/advisories/GHSA-cgwc-pv48-fhj5"
},
{
"type": "PACKAGE",
"url": "https://github.com/miguelgrinberg/python-engineio"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
],
"summary": "python-engineio has unbound thread allocation that can cause denial of service"
}
OPENSUSE-SU-2026:21182-1
Vulnerability from csaf_opensuse - Published: 2026-06-30 11:31 - Updated: 2026-06-30 11:31| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Leap 16.0:python313-python-engineio-4.12.0-bp160.2.1.noarch | — |
Vendor Fix
|
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Leap 16.0:python313-python-engineio-4.12.0-bp160.2.1.noarch | — |
Vendor Fix
|
{
"document": {
"aggregate_severity": {
"namespace": "https://www.suse.com/support/security/rating/",
"text": "important"
},
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"text": "Copyright 2024 SUSE LLC. All rights reserved.",
"tlp": {
"label": "WHITE",
"url": "https://www.first.org/tlp/"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "Security update for python-python-engineio",
"title": "Title of the patch"
},
{
"category": "description",
"text": "This update for python-python-engineio fixes the following issues:\n\nChanges in python-python-engineio:\n\n- CVE-2026-48802: remote user can cause the creation of unnecessary\n background threads in the server through the heartbeat mechanism\n and cause a DoS (bsc#1269544)\n- CVE-2026-48809: size of incoming messages is not checked before\n they are loaded into memory and allows remote users to cause a DoS\n via excessive memory allocation (bsc#1269545)\n",
"title": "Description of the patch"
},
{
"category": "details",
"text": "openSUSE-Leap-16.0-packagehub-377",
"title": "Patchnames"
},
{
"category": "legal_disclaimer",
"text": "CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).",
"title": "Terms of use"
}
],
"publisher": {
"category": "vendor",
"contact_details": "https://www.suse.com/support/security/contact/",
"name": "SUSE Product Security Team",
"namespace": "https://www.suse.com/"
},
"references": [
{
"category": "external",
"summary": "SUSE ratings",
"url": "https://www.suse.com/support/security/rating/"
},
{
"category": "self",
"summary": "URL of this CSAF notice",
"url": "https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_21182-1.json"
},
{
"category": "self",
"summary": "SUSE Bug 1269544",
"url": "https://bugzilla.suse.com/1269544"
},
{
"category": "self",
"summary": "SUSE Bug 1269545",
"url": "https://bugzilla.suse.com/1269545"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-48802 page",
"url": "https://www.suse.com/security/cve/CVE-2026-48802/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-48809 page",
"url": "https://www.suse.com/security/cve/CVE-2026-48809/"
}
],
"title": "Security update for python-python-engineio",
"tracking": {
"current_release_date": "2026-06-30T11:31:41Z",
"generator": {
"date": "2026-06-30T11:31:41Z",
"engine": {
"name": "cve-database.git:bin/generate-csaf.pl",
"version": "1"
}
},
"id": "openSUSE-SU-2026:21182-1",
"initial_release_date": "2026-06-30T11:31:41Z",
"revision_history": [
{
"date": "2026-06-30T11:31:41Z",
"number": "1",
"summary": "Current version"
}
],
"status": "final",
"version": "1"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_version",
"name": "python313-python-engineio-4.12.0-bp160.2.1.noarch",
"product": {
"name": "python313-python-engineio-4.12.0-bp160.2.1.noarch",
"product_id": "python313-python-engineio-4.12.0-bp160.2.1.noarch"
}
}
],
"category": "architecture",
"name": "noarch"
},
{
"branches": [
{
"category": "product_name",
"name": "openSUSE Leap 16.0",
"product": {
"name": "openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0"
}
}
],
"category": "product_family",
"name": "SUSE Linux Enterprise"
}
],
"category": "vendor",
"name": "SUSE"
}
],
"relationships": [
{
"category": "default_component_of",
"full_product_name": {
"name": "python313-python-engineio-4.12.0-bp160.2.1.noarch as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:python313-python-engineio-4.12.0-bp160.2.1.noarch"
},
"product_reference": "python313-python-engineio-4.12.0-bp160.2.1.noarch",
"relates_to_product_reference": "openSUSE Leap 16.0"
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2026-48802",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-48802"
}
],
"notes": [
{
"category": "general",
"text": "unknown",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:python313-python-engineio-4.12.0-bp160.2.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-48802",
"url": "https://www.suse.com/security/cve/CVE-2026-48802"
},
{
"category": "external",
"summary": "SUSE Bug 1269544 for CVE-2026-48802",
"url": "https://bugzilla.suse.com/1269544"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:python313-python-engineio-4.12.0-bp160.2.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:python313-python-engineio-4.12.0-bp160.2.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-06-30T11:31:41Z",
"details": "important"
}
],
"title": "CVE-2026-48802"
},
{
"cve": "CVE-2026-48809",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-48809"
}
],
"notes": [
{
"category": "general",
"text": "unknown",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:python313-python-engineio-4.12.0-bp160.2.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-48809",
"url": "https://www.suse.com/security/cve/CVE-2026-48809"
},
{
"category": "external",
"summary": "SUSE Bug 1269545 for CVE-2026-48809",
"url": "https://bugzilla.suse.com/1269545"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:python313-python-engineio-4.12.0-bp160.2.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:python313-python-engineio-4.12.0-bp160.2.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-06-30T11:31:41Z",
"details": "important"
}
],
"title": "CVE-2026-48809"
}
]
}
PYSEC-2026-3032
Vulnerability from pysec - Published: 2026-07-13 15:46 - Updated: 2026-07-13 16:06Impact
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
connecthandler. - 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.
| Name | purl | python-engineio | pkg:pypi/python-engineio |
|---|
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "python-engineio",
"purl": "pkg:pypi/python-engineio"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "4.13.2"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.1.0",
"0.2.0",
"0.3.0",
"0.3.1",
"0.4.0",
"0.5.0",
"0.5.1",
"0.6.0",
"0.6.1",
"0.6.2",
"0.6.3",
"0.6.4",
"0.6.5",
"0.6.6",
"0.6.7",
"0.6.8",
"0.6.9",
"0.7.0",
"0.7.1",
"0.7.2",
"0.8.0",
"0.8.1",
"0.8.2",
"0.8.3",
"0.8.4",
"0.8.5",
"0.8.6",
"0.8.7",
"0.8.8",
"0.9.0",
"0.9.1",
"0.9.2",
"1.0.0",
"1.0.1",
"1.0.2",
"1.0.3",
"1.0.4",
"1.1.0",
"1.1.1",
"1.1.2",
"1.2.0",
"1.2.1",
"1.2.2",
"1.2.3",
"1.2.4",
"1.3.0",
"1.3.1",
"1.3.2",
"1.4.0",
"1.5.0",
"1.5.1",
"1.5.2",
"1.5.3",
"1.5.4",
"1.6.0",
"1.6.1",
"1.7.0",
"2.0.0",
"2.0.1",
"2.0.2",
"2.0.3",
"2.0.4",
"2.1.0",
"2.1.1",
"2.2.0",
"2.3.0",
"2.3.1",
"2.3.2",
"3.0.0",
"3.1.0",
"3.1.1",
"3.1.2",
"3.10.0",
"3.11.0",
"3.11.1",
"3.11.2",
"3.12.0",
"3.12.1",
"3.13.0",
"3.13.1",
"3.13.2",
"3.14.0",
"3.14.1",
"3.14.2",
"3.2.0",
"3.2.1",
"3.2.2",
"3.2.3",
"3.3.0",
"3.3.1",
"3.3.2",
"3.4.0",
"3.4.1",
"3.4.2",
"3.4.3",
"3.4.4",
"3.5.0",
"3.5.1",
"3.5.2",
"3.6.0",
"3.7.0",
"3.8.0",
"3.8.1",
"3.8.2",
"3.8.2.post1",
"3.9.0",
"3.9.1",
"3.9.2",
"3.9.3",
"4.0.0",
"4.0.1",
"4.1.0",
"4.10.0",
"4.10.1",
"4.11.0",
"4.11.1",
"4.11.2",
"4.12.0",
"4.12.1",
"4.12.2",
"4.12.3",
"4.13.0",
"4.13.1",
"4.2.0",
"4.2.1",
"4.3.0",
"4.3.1",
"4.3.2",
"4.3.3",
"4.3.4",
"4.4.0",
"4.4.1",
"4.5.0",
"4.5.1",
"4.6.0",
"4.6.1",
"4.7.0",
"4.7.1",
"4.8.0",
"4.8.1",
"4.8.2",
"4.9.0",
"4.9.1"
]
}
],
"aliases": [
"CVE-2026-48802",
"GHSA-cgwc-pv48-fhj5"
],
"details": "### Impact\nAn 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.\n\nNote: 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.\n\n### Patches\nVersion 4.13.2 addresses this issue as follows:\n\n- The initial background thread (or async task( for heartbeat management is only launched if a client passes authentication in the `connect` handler.\n- 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.",
"id": "PYSEC-2026-3032",
"modified": "2026-07-13T16:06:04.305823Z",
"published": "2026-07-13T15:46:24.728707Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/miguelgrinberg/python-engineio/security/advisories/GHSA-cgwc-pv48-fhj5"
},
{
"type": "PACKAGE",
"url": "https://github.com/miguelgrinberg/python-engineio"
},
{
"type": "PACKAGE",
"url": "https://pypi.org/project/python-engineio"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-cgwc-pv48-fhj5"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-48802"
}
],
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
],
"summary": "python-engineio has unbound thread allocation that can cause denial of service"
}