2019年8月22日,趋势科技研究团队发布了编号为CVE-2019-12527的Squid代理服务器缓冲区溢出漏洞分析报告。 攻击者无需身份验证即可构建数据包,以利用此漏洞创建远程代码并执行。 Squid是一种流行的开源代理服务器和缓存应用程序,支持各种网络协议,如HTTP,HTTPS和FTP。
漏洞详细信息
Cachemgr.cgi是Squid的缓存管理界面,用于显示代理进程的统计信息。 Squid使用CacheManager::ParseHeaders()函数来处理cachemgr的请求信息。 如果请求包含授权认证信息且类型为Basic,则调用易受攻击的函数HttpHeader::getAuth()。
HttpHeader::getAuth()函数将decodingAuthToken数组大小定义为8192字节,用于存储base64解码的凭据。
不需要身份验证的远程攻击者可以通过向目标服务器发送设计良好的HTTP请求来利用此漏洞。 利用该漏洞将导致攻击者获得代码执行权限,并且不成功的攻击将导致服务器进程异常终止。
当Squid用作FTP代理并且请求的URI以FTP开头时,也会调用漏洞函数HttpHeader::getAuth()。
受影响的版本
Squid 4.0.23 -> 4.7
解决方法Squid已确认它已受到影响,并发布了一个补丁,以升级到最新版本的Squid 4.8
不方便更新的用户可以使用-disable-auth-basic重新编译Squid
或禁止使用FTP协议访问缓存管理报告和代理
Acl FTP proto FTP Http_access deny FTP Http_access deny managerLinux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx