【漏洞通告】Squid多个高危漏洞(CVE-2019-12526、CVE-2019-18679、CVE-2019-18679)

漏洞描述

当地时间11月5日,Squid 官方发布安全通告修复了多个漏洞,其中包含一个可导致代码执行的高危缓冲区溢出漏洞(CVE-2019-12526),一个信息泄露漏洞(CVE-2019-18679)及HTTP请求拆分问题(CVE-2019-18678)。

Squid是一种流行的开源Internet代理和Web缓存应用程序。它可用于减少Web服务器上的带宽使用和需求,过滤网络流量,并通过本地缓存常用资源来加速Web访问。Squid支持各种网络协议,包括HTTP,FTP和Gopher。Squid支持代理转发,内部网络上的客户端通过Squid连接到外部网络上的服务器,反向代理外部网络上的客户端通过Squid连接到内部网络上的服务器。

漏洞编号

CVE-2019-12526、CVE-2019-18679、CVE-2019-18679

漏洞危害

CVE-2019-12526:由于不正确的缓冲区管理,该漏洞允许远程攻击者向堆上写入大量任意数据,可能导致任意代码执行。在具有内存访问保护的系统上,则可能导致Squid进程异常终止,对所有使用代理的客户端造成拒绝服务。

CVE-2019-18679:由于不正确的数据管理,使得 Squid在处理HTTP摘要认证时可能发生信息泄露,泄露的信息将减弱ASLR保护,并可能帮助攻击者实行远程代码执行攻击。

CVE-2019-18678:由于错误的消息解析,使得 Squid 容易出现 HTTP 请求拆分问题,风险及影响相对较小。

漏洞等级

高危
受影响版本

Squid 3.0 <= 3.5.28

Squid 4.x <= 4.8

修复方案

目前官方已在最新版本中修复了以上漏洞,请受影响的用户尽快升级到Squid 4.9。

官方链接:http://www.squid-cache.org/Versions/

临时缓解措施:

若相关用户暂时无法进行升级,也可采用以下措施对相应漏洞进行防护。

  1. 安装漏洞对应的补丁
漏洞编号 补丁下载链接
CVE-2019-12526 http://www.squid-cache.org/Versions/v4/changesets/squid-4-7aa0184a720fd216191474e079f4fe87de7c4f5a.patch
CVE-2019-18678 http://www.squid-cache.org/Versions/v4/changesets/squid-4-671ba97abe929156dc4c717ee52ad22fba0f7443.patch
CVE-2019-18679 http://www.squid-cache.org/Versions/v4/changesets/squid-4-671ba97abe929156dc4c717ee52ad22fba0f7443.patch

注:若使用的是Squid的预打包版本,请与软件包供应商联系进行确认。

  1. 针对漏洞采取防护措施

CVE-2019-12526:

拒绝urn:由所有客户端所代理的协议URI

acl URN proto URN

http_access deny URN

CVE-2019-18679:

(1)从配置文件squid.conf中删除“auth_param digest …”设置。

(2)在编译Squid 时添加 –disable-auth-basic 参数