Ecosyste.ms: Advisories
An open API service providing security vulnerability metadata for many open source software ecosystems.
Security Advisories: GSA_kwCzR0hTQS0yNzNyLW1ncjQtdjM0Zs0ieg
Uncaught Exception in engine.io
Impact
A specially crafted HTTP request can trigger an uncaught exception on the Engine.IO server, thus killing the Node.js process.
RangeError: Invalid WebSocket frame: RSV2 and RSV3 must be clear
at Receiver.getInfo (/.../node_modules/ws/lib/receiver.js:176:14)
at Receiver.startLoop (/.../node_modules/ws/lib/receiver.js:136:22)
at Receiver._write (/.../node_modules/ws/lib/receiver.js:83:10)
at writeOrBuffer (internal/streams/writable.js:358:12)
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
.
Patches
A fix has been released for each major branch:
Version range | Fixed version |
---|---|
[email protected] |
4.1.2 |
[email protected] |
5.2.1 |
[email protected] |
6.1.1 |
Previous versions (< 4.0.0
) are not impacted.
For socket.io
users:
Version range | engine.io version |
Needs minor update? |
---|---|---|
[email protected] |
~6.1.0 |
- |
[email protected] |
~6.0.0 |
Please upgrade to [email protected] |
[email protected] |
~5.2.0 |
- |
[email protected] |
~5.1.1 |
Please upgrade to [email protected] |
[email protected] |
~5.0.0 |
Please upgrade to [email protected] |
[email protected] |
~4.1.0 |
- |
[email protected] |
~4.0.0 |
Please upgrade to [email protected] or [email protected] (see here) |
In most cases, running npm audit fix
should be sufficient. You can also use npm update engine.io --depth=9999
.
Workarounds
There is no known workaround except upgrading to a safe version.
For more information
If you have any questions or comments about this advisory:
- Open an issue in
engine.io
Thanks to Marcus Wejderot from Mevisio for the responsible disclosure.
Permalink: https://github.com/advisories/GHSA-273r-mgr4-v34fJSON: https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0yNzNyLW1ncjQtdjM0Zs0ieg
Source: GitHub Advisory Database
Origin: Unspecified
Severity: High
Classification: General
Published: over 2 years ago
Updated: 11 months ago
CVSS Score: 7.5
CVSS vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Identifiers: GHSA-273r-mgr4-v34f, CVE-2022-21676
References:
- https://github.com/socketio/engine.io/security/advisories/GHSA-273r-mgr4-v34f
- https://nvd.nist.gov/vuln/detail/CVE-2022-21676
- 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/
- https://github.com/advisories/GHSA-273r-mgr4-v34f
Blast Radius: 45.6
Affected Packages
npm:engine.io
Dependent packages: 405Dependent repositories: 1,213,452
Downloads: 22,822,110 last month
Affected Version Ranges: >= 6.0.0, < 6.1.1, >= 5.0.0, < 5.2.1, >= 4.0.0, < 4.1.2
Fixed in: 6.1.1, 5.2.1, 4.1.2
All affected versions: 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.1.0, 4.1.1, 5.0.0, 5.1.0, 5.1.1, 5.2.0, 6.0.0, 6.0.1, 6.1.0
All unaffected versions: 0.1.0, 0.1.1, 0.1.2, 0.2.0, 0.2.1, 0.2.2, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.7, 0.3.8, 0.3.9, 0.3.10, 0.4.1, 0.4.2, 0.4.3, 0.5.0, 0.6.0, 0.6.1, 0.6.2, 0.6.3, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.7.7, 0.7.8, 0.7.9, 0.7.10, 0.7.11, 0.7.12, 0.7.13, 0.7.14, 0.8.0, 0.8.1, 0.8.2, 0.9.0, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.2.2, 1.3.0, 1.3.1, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.6.0, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6, 1.6.7, 1.6.8, 1.6.9, 1.6.10, 1.6.11, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 2.0.0, 2.0.1, 2.0.2, 2.1.0, 2.1.1, 3.0.0, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.2.0, 3.2.1, 3.3.0, 3.3.1, 3.3.2, 3.4.0, 3.4.1, 3.4.2, 3.5.0, 3.6.0, 3.6.1, 4.1.2, 5.2.1, 6.1.1, 6.1.2, 6.1.3, 6.2.0, 6.2.1, 6.3.0, 6.3.1, 6.4.0, 6.4.1, 6.4.2, 6.5.0, 6.5.1, 6.5.2, 6.5.3, 6.5.4