天下漏洞,尽知其名
HIGH

CVE-2026-91096 proxygen 释放后使用漏洞

影响攻击者可触发释放后使用,可能导致进程崩溃或远程代码执行

AI 研判

Proxygen 是 Meta 开源的 C++ HTTP 库,其中 WebTransport 实现存在释放后使用(use-after-free)缺陷。在销毁已关闭的流之前,terminateSessionStreams(旧版本为 destroy)未注销其读回调,导致传输层可能调用已被释放的回调。

影响范围

Proxygen

Proxygen v2024.10.28.00 至 v2026.09.28.00;v2025.08.18.00 之前的版本对应函数名为 WebTransportImpl::destroy。

漏洞详情

漏洞类型为释放后使用(CWE-416)。成因是 WebTransportImpl::terminateSessionStreams 在销毁已不再打开的流时,未先注销该流注册的读回调,回调对象随流一起被释放。之后传输层仍可能触发该读回调,访问已释放内存,造成内存破坏。

利用条件与风险

利用前提是攻击者能通过 WebTransport 会话触发流关闭并促使传输层继续调用读回调,通常需可访问相关服务。实战中可导致服务崩溃,若内存布局可控则存在远程代码执行可能。

修复建议

建议升级至 v2026.09.28.00 或更高版本;暂无公开的临时缓解措施,可关注官方后续公告。

原始情报

In proxygen from v2024.10.28.00 until v2026.09.28.00, WebTransportImpl::terminateSessionStreams (WebTransportImpl::destroy in releases before v2025.08.18.00) failed to unregister read callbacks for streams that were no longer open before destroying them. The transport could then invoke a read callback that had been freed.