Skip to content
Heist/ feed
UnratedFix available

socket.io has an unhandled 'error' event

Type: advisorySource: OSV1 source record

### 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 `socket.io@4.6.2` (at least) | | `2.3.0...2.5.0` | Please upgrade to `socket.io@2.5.1` | ### Patches This issue is fixed by https://github.com/socketio/socket.io/commit/15af22fc22bc6030fcead322c106f07640336115, included in `socket.io@4.6.2` (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](https://github.com/socketio/sock

Announced Group revision 1
Original source ↗

GHSA-25hc-qcg6-38wj

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GHSA-25hc-qcg6-38wj

socket.io

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
2.5.1

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

socket.io

Source reference: /affected/1/package/name

Affected versions
Not stated in this record
Fixed versions
4.6.2

Source reference: /affected/1/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "2.5.1"
          }
        ]
      }
    ],
    "package": {
      "name": "socket.io",
      "purl": "pkg:npm/socket.io",
      "ecosystem": "npm"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/06/GHSA-25hc-qcg6-38wj/GHSA-25hc-qcg6-38wj.json"
    }
  },
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "3.0.0"
          },
          {
            "fixed": "4.6.2"
          }
        ]
      }
    ],
    "package": {
      "name": "socket.io",
      "purl": "pkg:npm/socket.io",
      "ecosystem": "npm"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/06/GHSA-25hc-qcg6-38wj/GHSA-25hc-qcg6-38wj.json"
    }
  }
]
Related CVEs
CVE-2024-38355

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Event
#13822 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement