CVE-2026-102599
Socket.IO enables bidirectional and low-latency communication for every platform.
Impact
Socket.IO enables bidirectional and low-latency communication for every platform. From Engine.IO 6.6.0 until 6.6.10, a transport upgrade can independently derive an Engine.IO protocol revision from the upgrade request instead of enforcing the revision stored on the existing session. A malicious client can establish a valid session and send an upgrade request with a different or omitted EIO query parameter, attaching a transport with incompatible parser and heartbeat behavior. A crafted heartbeat packet can then trigger an uncaught exception and terminate the Node.js process, including when Engine.IO v3 compatibility is disabled because an omitted EIO value is interpreted as revision 3 on the affected path. This issue is fixed in Engine.IO 6.6.10.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | engine.io | >= 6.6.0, < 6.6.10 | 6.6.10 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-2gc4-cqfq-p2gv
- https://github.com/socketio/socket.io/security/advisories/GHSA-2gc4-cqfq-p2gv
- https://github.com/socketio/socket.io/commit/86db1fc3db2cd315a065d64c4e48918ccf9b4729
- https://github.com/socketio/socket.io/releases/tag/engine.io@6.6.10