CVE-2026-102559 libsoup 堆缓冲区溢出漏洞
影响攻击者可触发堆缓冲区溢出,可能导致内存破坏或代码执行
libsoup 在构造带掩码的 WebSocket 客户端帧时存在堆缓冲区溢出漏洞。当发送超大负载时,传给 GByteArray 分配 API 的长度值可能被截断,而掩码处理例程仍使用完整长度,从而越界写入堆内存。该漏洞 CVSS 评分为 8.6,属高危。
影响范围
受影响版本范围暂无公开信息,涉及使用 libsoup 进行 WebSocket 客户端通信的场景。
漏洞详情
漏洞类型为堆缓冲区溢出(CWE-122)。成因是整数截断:在为大体积 WebSocket 客户端帧分配缓冲区时,长度参数在传入 GByteArray 分配接口过程中被截断,但后续掩码运算仍按原始完整长度写入,导致写入超出已分配堆缓冲区边界。攻击者可通过诱导应用发送超大 WebSocket 帧来触发内存破坏。
利用条件与风险
利用需应用使用 libsoup 的 WebSocket 客户端功能并发送超大负载,实战中可能导致内存破坏乃至代码执行,风险较高。
修复建议
官方修复方案暂无公开信息,建议关注 libsoup 官方安全公告并及时升级至修复版本;临时缓解可限制 WebSocket 出站帧大小或避免发送超大负载。
A flaw was found in libsoup. When constructing a masked WebSocket client frame for a very large outgoing payload, size values passed to GByteArray allocation APIs could be truncated while the masking routine still used the full length, causing a heap buffer overflow.