天下漏洞,尽知其名
HIGH

CVE-2026-102761 NetX Duo WebSocket 客户端越界写入漏洞

影响攻击者可越界写入可控数据,可能导致内存破坏甚至代码执行

AI 研判

NetX Duo 的 WebSocket 客户端在处理跨多个 NX_PACKET 的分片掩码帧时,解掩码游标被错误地重置到第一个数据包,而循环上界却属于当前数据包,导致 XOR 循环越界写入。由于写入内容由 4 字节掩码密钥控制,攻击者可选择被写入的字节,属于可控内存破坏。

影响范围

NetX Duo

NetX Duo 的 WebSocket 客户端组件受影响,具体受影响版本范围暂无公开信息。

漏洞详情

漏洞类型为越界写入(CWE-787)。成因是解掩码循环在遍历链式数据包时,游标被重置到首个 NX_PACKET,但循环边界取自当前数据包,造成索引错位。在标准连续数据包池布局下,掩码服务器帧被拆分为两个数据包时,XOR 循环会越过第一个数据包的未用载荷区并写入第二个数据包的 NX_PACKET 控制块。写入字节由攻击者提供的 4 字节掩码密钥决定,因此破坏内容可控。

利用条件与风险

利用前提是目标设备运行 NetX Duo WebSocket 客户端并连接到恶意或已被攻陷的 WebSocket 服务器,且服务器发送跨数据包的分片掩码帧。实战中可造成内存破坏,进而可能导致拒绝服务或代码执行,风险较高。

修复建议

建议关注并升级到包含该漏洞修复的 NetX Duo 版本,具体修复版本暂无公开信息;临时缓解措施包括避免连接不可信的 WebSocket 服务器、对入站 WebSocket 流量进行过滤或限制分片帧处理。

原始情报

NetX Duo’s WebSocket client resets the unmasking cursor to the first `NX_PACKET` each time it advances through a chained packet, while the loop’s upper bound belongs to the current packet. With the standard contiguous packet-pool layout, a masked server frame split across two packets therefore drives the XOR loop through the first packet’s unused payload area and on through the second packet’s `NX_PACKET` control block.

The four-byte WebSocket masking key controls the bytes written, so the corruption is attacker-chosen rather than incidental.