CVE-2026-102560 libsoup 堆缓冲区溢出漏洞
影响攻击者可触发堆缓冲区溢出,可能导致内存破坏或代码执行
libsoup 是 GNOME 项目提供的 HTTP 客户端/服务端库,广泛用于 WebSocket 通信。该漏洞存在于 permessage-deflate WebSocket 扩展中:当压缩非常大的出站消息时,用于 GByteArray 扩容的截断长度计算可能发生整数回绕,导致 zlib 越界写入已分配缓冲区,形成堆缓冲区溢出。
影响范围
漏洞详情
漏洞类型为堆缓冲区溢出(整数回绕引发)。成因是 permessage-deflate 扩展在压缩超大出站消息时,计算 GByteArray 增长所需的长度发生截断/回绕,使实际分配的缓冲区小于 zlib 写入所需空间。利用方式是构造或触发超大出站 WebSocket 消息经 permessage-deflate 压缩,令 zlib 越界写入,破坏堆内存。
利用条件与风险
利用前提是目标应用使用 libsoup 的 WebSocket 功能并启用 permessage-deflate 扩展,且能触发超大出站消息压缩。实战中可导致进程崩溃或内存破坏,是否可稳定利用取决于具体环境,暂无公开在野利用信息。
修复建议
建议升级到官方修复版本,具体修复版本号暂无公开信息;临时缓解措施可考虑禁用 permessage-deflate WebSocket 扩展或限制出站消息大小,并关注 GNOME/libsoup 官方公告。
A flaw was found in libsoup. When the permessage-deflate WebSocket extension compresses a very large outgoing message, truncated size calculations used for GByteArray growth could wrap, causing zlib to write past the allocated buffer and resulting in a heap buffer overflow.