首页 网络安全 正文
  • 本文约1019字,阅读需5分钟
  • 170
  • 0

Squid ESI拒绝服务处理ESI响应漏洞CVE-2024-45802

摘要

栋科技漏洞库关注到Squid发布6.10版本,修复一个允许受信任服务器在处理ESI响应内容时执行拒绝服务漏洞,追踪为CVE-2024-45802。

Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)代理服务器和 Web 缓存服务器,发展历史悠久且功能完备。

一、基本情况

Squid 主要设计用于在 Unix 一类系统运行,作为一个开源的Web缓存代理,除了 HTTP 外,对于 FTP 与 HTTPS 的支持也表现的相当好。

Squid 可作为网页服务器前置cache服务器缓存相关请求提高Web服务器速度,或共享网络资源而缓存万维网,域名系统和其他网络搜索。

Squid ESI拒绝服务处理ESI响应漏洞CVE-2024-45802

栋科技漏洞库关注到Squid发布6.10版本,修复一个允许受信任服务器在处理ESI响应内容时执行拒绝服务漏洞,追踪为CVE-2024-45802。

二、漏洞分析

CVE-2024-45802允许受信任服务器在处理 ESI 响应内容时执行拒绝 服务,影响代理服务的所有域以及 受影响期间使用代理的所有客户端。

由于输入验证、预期生命周期内资源过早释放及有效生命周期后未释放资源错误,易受可信服务器针对所有使用代理客户端拒绝服务攻击。

该漏洞仅限于充当反向代理的Squid, ESI功能已在构建时启用,该功能在3.0到6.9所有Squid版本中默认启用 ,从6.10版本开始默认禁用。

CVE-2024-45802漏洞是Squid ESI mod_http2 中存在的一个缺陷,当客户端重置HTTP/2流(RST frame)的时候,会存在一个时间窗口。

在该时间窗口内,请求的内容资源不会被立即回收,相反的内容释放会被推迟到连接关闭的时候,此时客户端可不断发送新请求和重置。

如此使其始终保持繁忙和打开状态导致内存占用不断增长。尽管连接关闭时所有资源都会被回收,但该进程可能在连接关闭前耗尽资源。

该该漏洞由 Opera Software 的 Joshua Rogers 发现并上报 ,CVSS评分为7.5,具体时间线如下:

2021-02-28 05:25:48 UTC 初始报告

2024-03-13 08:01:12 UTC ESI 在 v6 中默认禁用

2024-06-08 13:28:58 UTC Squid 6.10 发布,ESI 已禁用

三、影响范围

Squid版本:3.0(含)~6.9(含)

四、修复建议

目前该漏洞已经在 Squid 版本 6.10 的默认构建配置中修复,受影响用户可升级到以下版本:

Squid 版本 >= 6.10 

五、参考链接

https://github.com/squid-cache/squid/security/advisories/GHSA-f975-v7qw-q7hj

评论
更换验证码
友情链接