CVE-2026-33526Squid是一个Web缓存代理服务器。在7.5版本之前,由于堆释放后重用漏洞,Squid在处理ICP流量时容易受到拒绝服务攻击。远程攻击者可以通过ICP协议对Squid服务执行可靠且可重复的拒绝服务攻击。此攻击仅限于显式启用ICP支持(即配置了非零icp_port)的Squid部署。该问题无法通过使用icp_access规则拒绝ICP查询来缓解。7.5版本已包含修复补丁。
该漏洞源于Squid在处理ICP(互联网缓存协议)流量时的堆内存管理缺陷,具体表现为释放后重用(Use-After-Free)。当Squid实例被配置为启用ICP支持(即设置非零的icp_port)时,其ICP处理模块在解析特定格式的ICP查询包过程中,可能会错误地释放了仍在被引用的堆内存对象。随后,当程序尝试访问该已释放的内存区域时,由于内存状态已被改变,会导致非预期的程序行为,如段错误或数据损坏。值得注意的是,常规的访问控制列表(icp_access)无法拦截此攻击,因为漏洞触发点位于数据包解析逻辑的早期阶段。攻击者无需用户交互或身份认证,仅需通过网络发送特制的ICP数据包,即可导致Squid服务进程崩溃,实现可靠的拒绝服务攻击。