CVE-2026-45736Node.js的WebSocket库ws在8.20.1之前的版本中存在安全漏洞。当调用websocket.close()方法并传入TypedArray作为reason参数时,由于实现缺陷,可能导致未初始化的内存被泄露给攻击者。该漏洞CVSS评分为4.4,属于中危漏洞,主要影响数据的机密性。
该漏洞位于ws库处理WebSocket连接关闭逻辑的代码中。根据WebSocket协议,关闭连接时可以携带状态码和原因。在受影响的版本中,当开发者在调用close()方法时,错误地将TypedArray(如Uint8Array)对象作为reason参数传入,底层代码未能正确处理该类型数据的内存边界。这导致在构建关闭帧时,除了包含TypedArray的数据外,还可能将紧邻的未初始化内存区域一并发送。由于CVSS向量显示需要高权限(PR:H),攻击者通常需要能够影响服务器端的WebSocket行为或诱导高权限客户端执行特定的关闭操作,从而在接收端捕获并分析这些泄露的内存数据,可能导致敏感信息泄露。