Description
Engine.IO is the implementation of transport-based cross-browser/cross-device bi-directional communication layer for Socket.IO. A specially crafted HTTP request can trigger an uncaught exception on the Engine.IO server, thus killing the Node.js process. This impacts all the users of the `engine.io` package starting from version `4.0.0`, including those who uses depending packages like `socket.io`. Versions prior to `4.0.0` are not impacted. A fix has been released for each major branch, namely `4.1.2` for the `4.x.x` branch, `5.2.1` for the `5.x.x` branch, and `6.1.1` for the `6.x.x` branch. There is no known workaround except upgrading to a safe version.
Remediation
References
https://github.com/socketio/engine.io/security/advisories/GHSA-273r-mgr4-v34f
https://github.com/socketio/engine.io/commit/c0e194d44933bd83bf9a4b126fca68ba7bf5098c
https://github.com/socketio/engine.io/commit/66f889fc1d966bf5bfa0de1939069153643874ab
https://github.com/socketio/engine.io/commit/a70800d7e96da32f6e6622804ef659ebc58659db
https://github.com/socketio/engine.io/releases/tag/6.1.1
https://github.com/socketio/engine.io/releases/tag/5.2.1
https://github.com/socketio/engine.io/releases/tag/4.1.2
https://security.netapp.com/advisory/ntap-20220209-0002/