GHSA-WFPM-5GCM-94CG
Vulnerability from github – Published: 2026-10-05 23:44 – Updated: 2026-10-05 23:44Impact
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.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "@socket.io/cluster-engine"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.1.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-102600"
],
"database_specific": {
"cwe_ids": [
"CWE-20"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-05T23:44:21Z",
"nvd_published_at": "2026-09-29T16:17:06Z",
"severity": "HIGH"
},
"details": "### Impact\n\nThis is a **prototype pollution / improper client lookup** vulnerability in `@socket.io/cluster-engine`.\n\nServers 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.\n\nThe impact is **denial of service** through process crash.\n\nApplications not using `@socket.io/cluster-engine` are not affected by this specific issue.\n\nAffected versions:\n\n* `@socket.io/cluster-engine@0.1.0`\n\n### Patches\n\nThe issue was fixed in:\n\n* `@socket.io/cluster-engine@0.1.1`\n\n### Workarounds\n\nIf upgrading immediately is not possible, users can reduce exposure by:\n\n- Rejecting or sanitizing suspicious session IDs before they reach the cluster engine.\n- Running the cluster engine behind trusted infrastructure that prevents arbitrary clients from crafting raw Engine.IO session-related requests.\n\nThese workarounds are defense-in-depth only. Upgrading to a patched version is recommended.",
"id": "GHSA-wfpm-5gcm-94cg",
"modified": "2026-10-05T23:44:21Z",
"published": "2026-10-05T23:44:21Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/socketio/socket.io/security/advisories/GHSA-wfpm-5gcm-94cg"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-102600"
},
{
"type": "WEB",
"url": "https://github.com/socketio/socket.io/commit/830e3642ebb8dc3784eb749b0a004fe2b932b429"
},
{
"type": "PACKAGE",
"url": "https://github.com/socketio/socket.io"
},
{
"type": "WEB",
"url": "https://github.com/socketio/socket.io/releases/tag/@socket.io/cluster-engine@0.1.1"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
],
"summary": "Socket.IO: Prototype Pollution via Unsafe Client Session Lookup"
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.