engine.io is vulnerable to Denial of Service (DoS)
75
High Risk
Engine.IO computes each transport's protocol revision independently from the request query instead of checking it against the revision already pinned on the session at handshake. A client holding a valid session can send a transport upgrade request, including a WebSocket upgrade, with a different or missing EIO query parameter, attaching a transport whose parser and heartbeat behavior no longer matches the session state, even with Engine.IO v3 compatibility disabled. A crafted heartbeat packet on that mismatched transport can then reach an unguarded timer reference and throw an uncaught exception that terminates the Node.js process. The fix records the protocol revision on the session and rejects any upgrade request whose derived revision does not match it.
You are affected if you are using a version that falls within the vulnerable range and your Engine.IO server allows transport upgrades (the default).
engine.io is vulnerable to Denial of Service (DoS) in versions 6.6.0 - 6.6.9.
Upgrade the engine.io library to the patch version.
Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.
Free. No credit card required.

I consent to receiving marketing communications based on Aikido’s Privacy Policy.
SOC 2Compliant
ISO 27001Compliant
ISO 42001Compliant© All Intel data is openly available and commercially licensed.