天下漏洞,尽知其名
HIGH

CVE-2026-102600 Socket.IO cluster-engine 拒绝服务漏洞

影响攻击者可触发 Node.js 进程崩溃,造成拒绝服务

AI 研判

@socket.io/cluster-engine 是 Socket.IO 用于集群部署的组件。在 0.1.1 之前的版本中,该组件在集群环境下查找攻击者可控的会话 ID 时使用了继承的对象属性,导致 __proto__、constructor 等特殊属性名会沿原型链解析,而非匹配真实连接的客户端。这会使 Node.js 进程崩溃,形成拒绝服务。

影响范围

Socket.IO @socket.io/cluster-engine

受影响组件为 @socket.io/cluster-engine 0.1.1 之前的版本;未使用该组件的应用不受影响。

漏洞详情

漏洞类型为原型链污染导致的拒绝服务。成因是代码在对象上直接按会话 ID 取值时未过滤 __proto__、constructor 等原型属性,攻击者提交这些特殊 ID 时会命中原型链上的属性而非真实客户端记录,从而引发异常使进程崩溃。利用方式为在集群部署中发送特制会话 ID 触发崩溃。

利用条件与风险

利用前提是目标使用 @socket.io/cluster-engine 的集群部署且会话 ID 可由攻击者控制;成功利用可反复使服务进程崩溃,实战风险较高。

修复建议

升级 @socket.io/cluster-engine 至 0.1.1 或更高版本;临时可对会话 ID 做白名单校验或过滤 __proto__、constructor 等特殊属性名。

原始情报

Socket.IO enables bidirectional and low-latency communication for every platform. Prior to 0.1.1, @socket.io/cluster-engine uses inherited object properties when looking up attacker-controlled session IDs in clustered deployments. Special property names such as __proto__ or constructor can resolve through the object prototype chain instead of identifying an actual connected client, causing the Node.js process to crash and resulting in denial of service. Applications that do not use @socket.io/cluster-engine are not affected. This issue is fixed in version 0.1.1.