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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| socketio | engine.io | >= 4.0.0, < 4.1.2, >= 5.0.0, < 5.2.1, >= 6.0.0, < 6.1.1 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | engine.io | >= 4.0.0, < 4.1.2 | 4.1.2 | GHSA-273r-mgr4-v34f |
| npm | engine.io | >= 5.0.0, < 5.2.1 | 5.2.1 | GHSA-273r-mgr4-v34f |
| npm | engine.io | >= 6.0.0, < 6.1.1 | 6.1.1 | GHSA-273r-mgr4-v34f |
References
- https://github.com/socketio/engine.io/security/advisories/GHSA-273r-mgr4-v34f
- https://github.com/socketio/engine.io/commit/66f889fc1d966bf5bfa0de1939069153643874ab
- https://github.com/socketio/engine.io/commit/a70800d7e96da32f6e6622804ef659ebc58659db
- https://github.com/socketio/engine.io/commit/c0e194d44933bd83bf9a4b126fca68ba7bf5098c
- https://github.com/socketio/engine.io/releases/tag/4.1.2
- https://github.com/socketio/engine.io/releases/tag/5.2.1
- https://github.com/socketio/engine.io/releases/tag/6.1.1
- https://security.netapp.com/advisory/ntap-20220209-0002/