---
id: "CVE-2026-102600"
page: "https://infrastack.ai/live/CVE-2026-102600"
kind: "vulnerability"
aliases: ["CVE-2026-102600", "GHSA-wfpm-5gcm-94cg"]
title: "Socket.IO: Prototype Pollution via Unsafe Client Session Lookup"
severity: "high"
cvss: 7.5
epss: 0.00382
exploited: false
status: "open"
category: "package"
products: [{"name": "@socket.io/cluster-engine", "note": "<0.1.1", "fixed": ["0.1.1"], "affected": "< 0.1.1", "ecosystem": "npm"}]
ecosystems: ["npm"]
tags: ["clustered-deployments", "cwe-20", "node", "package", "self-hosted", "socket.io"]
not_affected_if: ["package-not-used", "single-instance-deployment"]
published_at: "2026-09-24T08:21:04+00:00"
first_seen_at: "2026-11-09T22:53:20+00:00"
updated_at: "2026-11-09T22:59:26+00:00"
sources: [{"source": "ghsa-repo", "url": "https://github.com/socketio/socket.io/security/advisories/GHSA-wfpm-5gcm-94cg", "first_seen_at": "2026-11-09T22:53:20+00:00"}, {"source": "ghsa", "url": "https://github.com/advisories/GHSA-wfpm-5gcm-94cg", "first_seen_at": "2026-11-09T22:57:50+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-102600", "first_seen_at": "2026-11-09T23:10:12+00:00"}]
exploit_sources: [{"type": "epss", "score": 0.00382, "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-102600"}]
---

# Socket.IO: Prototype Pollution via Unsafe Client Session Lookup

Link for people: https://infrastack.ai/live/CVE-2026-102600 (this .md is for agents)

A malicious client can send special property names such as __proto__ or constructor as a session ID to @socket.io/cluster-engine in a clustered deployment. The server then reads inherited prototype properties, which crashes the process (denial of service).

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- npm:@socket.io/cluster-engine affected < 0.1.1 fixed 0.1.1

## How to check

- Look for `@socket.io/cluster-engine` in `package.json` or the lockfile and check the installed version, for example with `npm ls @socket.io/cluster-engine`
- Confirm whether the server runs in a clustered deployment using this package
- Versions below `0.1.1` are affected

## Fix

- `@socket.io/cluster-engine` upgrade to `0.1.1`
- Until upgraded, the advisory suggests rejecting or sanitizing suspicious session IDs before they reach the cluster engine (defense-in-depth only)

## Timeline

- 2026-11-09T22:53:20+00:00 ghsa-repo https://github.com/socketio/socket.io/security/advisories/GHSA-wfpm-5gcm-94cg
- 2026-11-09T22:57:50+00:00 ghsa https://github.com/advisories/GHSA-wfpm-5gcm-94cg
- 2026-11-09T23:10:12+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-102600

## Documents

- [advisory] Maintainer's advisory: github.com https://github.com/socketio/socket.io/security/advisories/GHSA-wfpm-5gcm-94cg
- [advisory] Maintainer's advisory: api.github.com https://api.github.com/repos/socketio/socket.io/security-advisories/GHSA-wfpm-5gcm-94cg
- [fix] Patch: github.com https://github.com/socketio/socket.io/commit/830e3642ebb8dc3784eb749b0a004fe2b932b429
- [fix] Release: github.com https://github.com/socketio/socket.io/releases/tag/@socket.io/cluster-engine@0.1.1

## From the sources

### Impact

This is a **prototype pollution / improper client lookup** vulnerability in `@socket.io/cluster-engine`.

Servers using `@socket.io/cluster-engine` may be impacted when attacker-controlled session IDs are processed in clustered deployments. A malicious client could use special property names such as `__proto__`, `constructor`, or other inherited object keys as a session identifier, causing the server to read properties from the object prototype chain instead of only real connected clients.

The impact is **denial of service** through process crash.

Applications not using `@socket.io/cluster-engine` are not affected by this specific issue.

Affected versions:

*  `@socket.io/cluster-engine@0.1.0`

### Patches

The issue was fixed in:

*  `@socket.io/cluster-engine@0.1.1`

### Workarounds

If upgrading immediately is not possible, users can reduce exposure by:

- Rejecting or sanitizing suspicious session IDs before they reach the cluster engine.
- Running the cluster engine behind trusted infrastructure that prevents arbitrary clients from crafting raw Engine.IO session-related requests.

These workarounds are defense-in-depth only. Upgrading to a patched version is recommended.

### References

- Commit: https://github.com/socketio/socket.io/commit/830e364
- Socket.IO repository: https://github.com/socketio/socket.io
- Package: https://www.npmjs.com/package/@socket.io/cluster-engine

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
