GitHub Advisoryadvisory · npm

GHSA-25hc-qcg6-38wj socket.io has an unhandled 'error' event

MEDIUM Published 2024-06-19 Modified 2026-09-24 Official page ↗
Aliases
CVE-2024-38355
Ecosystem
npm
Packages
socket.io
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Weaknesses
CWE-20, CWE-754
Reviewed
2024-06-19

Affected packages

• npm socket.io: < 2.5.1 → fixed in 2.5.1 • npm socket.io: >= 3.0.0, < 4.6.2 → fixed in 4.6.2

Description

Impact A specially crafted Socket.IO packet can trigger an uncaught exception on the Socket.IO server, thus killing the Node.js process. ``` node:events:502 throw err; // Unhandled 'error' event ^ Error [ERR_UNHANDLED_ERROR]: Unhandled error. (undefined) at new NodeError (node:internal/errors:405:5) at Socket.emit (node:events:500:17) at /myapp/node_modules/socket.io/lib/socket.js:531:14 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) { code: 'ERR_UNHANDLED_ERROR', context: undefined } ``` Affected versions | Version range | Needs minor update? | |------------------|------------------------------------------------| | `4.6.2...latest` | Nothing to do | | `3.0.0...4.6.1` | Please upgrade to `[email protected]` (at least) | | `2.3.0...2.5.0` | Please upgrade to `[email protected]` | Patches This issue is fixed by https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115, included in `[email protected]` (released in May 2023). The fix was backported in the 2.x branch today: https://github.com/socketio/socket.io/commit/d30630ba10562bf987f4d2b42440fc41a828119c Workarounds As a workaround for the affected versions of the `socket.io` package, you can attach a listener for the "error" event: ```js io.on("connection", (socket) => { socket.on("error", () => { // ... }); }); ``` For more information If you have any questions or comments about this advisory: • Open a discussion here Thanks a lot to Paul Taylor for the responsible disclosure. References • https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115 • https://github.com/socketio/socket.io/commit/d30630ba10562bf987f4d2b42440fc41a828119c

Related

Alias · CVE (1)

  • CVE-2024-38355 Socket.IO is an open source, real-time, bidirectional, event-based, communication framework. vulnerability

Weakness · CWE (2)

  • CWE-20 Improper Input Validation weakness
  • CWE-754 Improper Check for Unusual or Exceptional Conditions weakness

References