CVE-2026-59724
Socket.IO: Engine.IO WebTransport SID DoS
Socket.IO enables bidirectional and low-latency communication for every platform. From 6.5.0 before 6.6.7, Engine.IO servers with WebTransport enabled can resolve a crafted session ID such as proto through an inherited property of the clients object during WebTransport upgrade handling, causing a TypeError and denial of service. This issue is fixed in version 6.6.7.
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
What each source reports
CVE List Score used
7.5
Socket.IO: Engine.IO WebTransport SID DoS
Socket.IO enables bidirectional and low-latency communication for every platform. From 6.5.0 before 6.6.7, Engine.IO servers with WebTransport enabled can resolve a crafted session ID such as proto through an inherited property of the clients object during WebTransport upgrade handling, causing a TypeError and denial of service. This issue is fixed in version 6.6.7.
- Record
CVE-2026-59724- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-20
- Updated
- 2026-11-02
EUVDEUVD-2026-42312
7.5
Socket.IO enables bidirectional and low-latency communication for every platform. From 6.5.0 before 6.6.7, Engine.IO servers with WebTransport enabled can resolve a crafted session ID such as proto through an inherited property of the clients object during WebTransport upgrade handling, causing a TypeError and denial of service. This issue is fixed in version 6.6.7.
- Record
EUVD-2026-42312- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-gr94-w7qr-f4j3
7.5
Socket.IO: Engine.IO WebTransport SID DoS
Impact
Engine.IO servers with WebTransport enabled are vulnerable to a remotely triggerable denial of service.
A malicious unauthenticated client can send a crafted WebTransport upgrade request containing a specially chosen session ID, such as __proto__. Because the session ID lookup did not properly verify that the key was an own property of the clients object, the lookup could resolve to an inherited prototype property instead of a valid Engine.IO client.
This can cause a TypeError during WebTransport upgrade handling. Since the failure occurs in an asynchronous context, it may result in an unhandled Promise rejection and terminate the Node.js process on affected Node.js versions/configurations.
Successful exploitation can allow an unauthenticated remote attacker to crash the server process and cause denial of service. Under a process supervisor, repeated exploitation may cause crash loops.
Affected configurations are limited to deployments where WebTransport support is enabled. WebTransport is not enabled by default.
Affected versions:
engine.io >= 6.5.0 < 6.6.7
Patches
The issue was fixed in:
- engine.io 6.6.7
Users should upgrade to [email protected] or later.
If using Socket.IO packages that depend on Engine.IO, users should update to a Socket.IO release that includes the patched Engine.IO version.
Workarounds
If upgrading immediately is not possible, affected users can mitigate the issue by disabling WebTransport support.
WebTransport is opt-in, so servers should ensure that webtransport is not included in the enabled transports list.
For example, use only the default HTTP long-polling and WebSocket transports:
const engine = new Server({
transports: ["polling", "websocket"],
});
Additional operational mitigations may include:
- Restricting access to WebTransport endpoints at the reverse proxy or HTTP/3 layer.
- Disabling HTTP/3/WebTransport support until the patched version can be deployed.
- Running the service under a supervisor as a partial availability mitigation, though this does not prevent repeated crash attempts.
References
- Fix commit: https://github.com/socketio/socket.io/commit/1fa1f46cd420ac5b57bb4c04c959b58f3c79158c
- Engine.IO changelog entry for
6.6.7: https://github.com/socketio/socket.io/blob/main/packages/engine.io/CHANGELOG.md#667-2026-04-27 - Engine.IO package: https://www.npmjs.com/package/engine.io
- Socket.IO repository: https://github.com/socketio/socket.io
- Record
GHSA-gr94-w7qr-f4j3- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-20
- Updated
- 2026-11-02
NVD
7.5
Socket.IO enables bidirectional and low-latency communication for every platform. From 6.5.0 before 6.6.7, Engine.IO servers with WebTransport enabled can resolve a crafted session ID such as proto through an inherited property of the clients object during WebTransport upgrade handling, causing a TypeError and denial of service. This issue is fixed in version 6.6.7.
- Record
CVE-2026-59724- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-20
- Updated
- 2026-11-02
OSV
7.5
Socket.IO: Engine.IO WebTransport SID DoS
Socket.IO enables bidirectional and low-latency communication for every platform. From 6.5.0 before 6.6.7, Engine.IO servers with WebTransport enabled can resolve a crafted session ID such as proto through an inherited property of the clients object during WebTransport upgrade handling, causing a TypeError and denial of service. This issue is fixed in version 6.6.7.
- Record
CVE-2026-59724- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVGHSA-gr94-w7qr-f4j3
7.5
Socket.IO: Engine.IO WebTransport SID DoS
Impact
Engine.IO servers with WebTransport enabled are vulnerable to a remotely triggerable denial of service.
A malicious unauthenticated client can send a crafted WebTransport upgrade request containing a specially chosen session ID, such as __proto__. Because the session ID lookup did not properly verify that the key was an own property of the clients object, the lookup could resolve to an inherited prototype property instead of a valid Engine.IO client.
This can cause a TypeError during WebTransport upgrade handling. Since the failure occurs in an asynchronous context, it may result in an unhandled Promise rejection and terminate the Node.js process on affected Node.js versions/configurations.
Successful exploitation can allow an unauthenticated remote attacker to crash the server process and cause denial of service. Under a process supervisor, repeated exploitation may cause crash loops.
Affected configurations are limited to deployments where WebTransport support is enabled. WebTransport is not enabled by default.
Affected versions:
engine.io >= 6.5.0 < 6.6.7
Patches
The issue was fixed in:
- engine.io 6.6.7
Users should upgrade to [email protected] or later.
If using Socket.IO packages that depend on Engine.IO, users should update to a Socket.IO release that includes the patched Engine.IO version.
Workarounds
If upgrading immediately is not possible, affected users can mitigate the issue by disabling WebTransport support.
WebTransport is opt-in, so servers should ensure that webtransport is not included in the enabled transports list.
For example, use only the default HTTP long-polling and WebSocket transports:
const engine = new Server({
transports: ["polling", "websocket"],
});
Additional operational mitigations may include:
- Restricting access to WebTransport endpoints at the reverse proxy or HTTP/3 layer.
- Disabling HTTP/3/WebTransport support until the patched version can be deployed.
- Running the service under a supervisor as a partial availability mitigation, though this does not prevent repeated crash attempts.
References
- Fix commit: https://github.com/socketio/socket.io/commit/1fa1f46cd420ac5b57bb4c04c959b58f3c79158c
- Engine.IO changelog entry for
6.6.7: https://github.com/socketio/socket.io/blob/main/packages/engine.io/CHANGELOG.md#667-2026-04-27 - Engine.IO package: https://www.npmjs.com/package/engine.io
- Socket.IO repository: https://github.com/socketio/socket.io
- Record
GHSA-gr94-w7qr-f4j3- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVRHSA-2026:26994
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:26994- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVCLSA-2026-1792193356 No score
TuxCare security update for engine.io (1 CVE)
TuxCare rebuilt engine.io to address 1 CVE. Fixed in 6.5.5-tuxcare.1.
- Record
CLSA-2026-1792193356- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-59724 No score
CVE-2026-59724 in engine.io - Patched by Root
Root has patched CVE-2026-59724 in the engine.io package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-59724- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
engine.ionpm |
6.5.0 up to 6.6.7 | 6.6.7 |
engine.ioTuxCare:npm |
6.5.5-tuxcare.0 up to 6.5.5-tuxcare.1, plus listed versions 6.5.5 |
6.5.5-tuxcare.1 |
dotnet-sdk-8.0Red Hat:hummingbird:1 From an advisory covering 6 CVEs |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
dotnet-sdk-8.0-source-built-artifactsRed Hat:hummingbird:1 From an advisory covering 6 CVEs |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
dotnet-sdk-dbg-8.0Red Hat:hummingbird:1 From an advisory covering 6 CVEs |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
dotnet-templates-8.0Red Hat:hummingbird:1 From an advisory covering 6 CVEs |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
dotnet8.0Red Hat:hummingbird:1 From an advisory covering 6 CVEs |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
engine.ioRoot:npm |
before 6.5.4-aikido.2 | 6.5.4-aikido.2 |
@rootio/engine.ioRoot:npm |
before 6.5.4-root.io.2 | 6.5.4-root.io.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-59724 is a high vulnerability (CVSS 7.5) in Socket Engine.io, published June 18, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.61%, the 49th percentile. Fixed in engine.io 6.6.7.
References
github.com/socketio/socket.io/security/advisories/GHSA-gr94-w7qr-f4j3
github.com/socketio/socket.io/commit/1fa1f46cd420ac5b57bb4c04c959b58f3c79158c
github.com/socketio/socket.io/releases/tag/[email protected]
nvd.nist.gov/vuln/detail/CVE-2026-59724
github.com/advisories/GHSA-gr94-w7qr-f4j3
github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59724.json
Show 38 moreShow less
github.com/socketio/socket.io
access.redhat.com/errata/RHSA-2026:26994
images.redhat.com
access.redhat.com/security/cve/CVE-2026-45591
access.redhat.com/security/updates/classification
access.redhat.com/security/cve/CVE-2026-45491
access.redhat.com/security/cve/CVE-2026-45736
access.redhat.com/security/cve/CVE-2026-59870
access.redhat.com/security/cve/CVE-2026-59868
access.redhat.com/security/cve/CVE-2026-59724
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_26994.json
bugzilla.redhat.com/show_bug.cgi?id=2487164
cve.org/CVERecord?id=CVE-2026-45491
nvd.nist.gov/vuln/detail/CVE-2026-45491
msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45491
bugzilla.redhat.com/show_bug.cgi?id=2487224
cve.org/CVERecord?id=CVE-2026-45591
nvd.nist.gov/vuln/detail/CVE-2026-45591
msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45591
bugzilla.redhat.com/show_bug.cgi?id=2477914
cve.org/CVERecord?id=CVE-2026-45736
nvd.nist.gov/vuln/detail/CVE-2026-45736
github.com/websockets/ws/commit/c0327ec15a54d701eb6ccefaa8bef328cfc03086
github.com/websockets/ws/security/advisories/GHSA-58qx-3vcg-4xpx
bugzilla.redhat.com/show_bug.cgi?id=2498128
cve.org/CVERecord?id=CVE-2026-59724
bugzilla.redhat.com/show_bug.cgi?id=2498114
cve.org/CVERecord?id=CVE-2026-59868
nvd.nist.gov/vuln/detail/CVE-2026-59868
github.com/nodeca/js-yaml/commit/3105455b81dee69e0fd36e09ac0b2ccfdb54adc1
github.com/nodeca/js-yaml/releases/tag/5.2.0
github.com/nodeca/js-yaml/security/advisories/GHSA-g796-fgmg-93mv
bugzilla.redhat.com/show_bug.cgi?id=2498130
cve.org/CVERecord?id=CVE-2026-59870
nvd.nist.gov/vuln/detail/CVE-2026-59870
github.com/nodeca/js-yaml/commit/39f3211a2f01b3c6982710cf21434ab7060acefe
github.com/nodeca/js-yaml/releases/tag/5.2.1
github.com/nodeca/js-yaml/security/advisories/GHSA-724g-mxrg-4qvm