Squid服务器最新漏洞(缓冲区溢出RCE漏洞)

2019年11月9日00:01:17 发表评论

Squid官方发布了多个漏洞:缓冲区溢出(CVE-2019-12526)、信息泄露(CVE-2019-18679)、HTTP请求拆分问题(CVE-2019-18678)。其中缓冲区溢出漏洞最为严重,可能导致远程代码执行。

未经身份验证的远程攻击者可以通过向目标服务器发送构造好的HTTP请求造成缓冲区溢出,然后导致远程代码执行。

Squid服务器最新漏洞(缓冲区溢出RCE漏洞)

漏洞概况

Squid是一款应用层的代理服务软件,它主要提供了缓存加速、应用层过滤的功能。通过本地缓存常用资源来加速Web访问,减少了带宽并缩短了响应时间、通过过滤流量使得网络安全。支持HTTP、FTP、SSL等多种协议的数据缓存,还支持基于ACL访问控制列表和ARL访问权限列表功能的内容过滤与权限管理功能。

目前FOFA系统最新数据(一年内数据)显示全球范围内共有8456235个squid对外开放服务。其中美国使用数量最多,共有5178565台,加拿大第二,共有334410台,南非第三,共有301066台,中国第四,共有278517台。

中国大陆地区江苏省使用用数量最多,共有77426台;北京市第二,共有63432台,浙江省第三,共有11875台,上海市第四,共有7642台,河南省第五,共有7389台。

危害等级

CVE-2019-12526 高危

CVE-2019-18678 中危

CVE-2019-18679 低危

漏洞原理

缓冲区溢出(CVE-2019-12526)

在处理URN请求时,由于不正确的缓冲区管理而导致未经身份验证的远程攻击者可向Squid客户端发送恶意构造的请求发生堆溢出, 利用成功的将导致攻击者能够使用服务器进程的特权执行任意代码,而未成功的攻击将导致服务器进程异常终止。

HTTP请求拆分问题(CVE-2019-18678)

远程攻击者发起构造好的HTTP请求时,由于squid请求头的HTTP验证不足,在进行拆分HTTP请求并向用户显示结果时,其内容可由攻击者控制。

信息泄露(CVE-2019-18679)

Squid在处理HTTP摘要认证时的不正确的数据管理而导致的,攻击者可以通过位于堆内存分配中的指针的原始字节值获取内存分配的信息,然后绕过ASLR保护,有助于攻击者进行远程代码执行攻击。

漏洞影响

目前漏洞影响版本号包括:

Squid 3.x-3.5.28

Squid 4.x-4.8

CVE编号

CVE-2019-12526

CVE-2019-18678

CVE-2019-18679

修复建议

1、官网已发布安全更新,用户可以更新到4.9版本。

2、安装漏洞补丁:

CVE-2019-12526:

http://www.squid-cache.org/Versions/v4/changesets/squid47aa0184a720fd216191474e079f4fe87de7c4f5a.patch

CVE-2019-18678:

http://www.squid-cache.org/Versions/v4/changesets/squid4671ba97abe929156dc4c717ee52ad22fba0f7443.patch

CVE-2019-18679:

http://www.squid-cache.org/Versions/v4/changesets/squid4671ba97abe929156dc4c717ee52ad22fba0f7443.patch

3、其他的防护措施:

CVE-2019-12526:

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

acl URN proto URN

http_access deny URN

CVE-2019-18679:

删除squid.conf配置文件中“auth_param digest ...”的设置

编译squid时添加 --disable-auth-basic 参数

发表评论

后发表评论