CVE-2025-62168CVE-2025-62168是Squid缓存代理服务器中的一个严重信息泄露漏洞,CVSS评分为10.0(满分),属于最高严重等级。该漏洞存在于Squid 7.2之前的版本中,源于错误处理过程中未能正确隐藏(redact)HTTP认证凭据信息。具体而言,当Squid在处理请求过程中生成调试或错误信息时,会将HTTP认证头部中的敏感凭据信息(如Authorization头部的Base64编码内容)泄露到错误页面或调试输出中。
该漏洞的危害性极高,因为它允许远程攻击者通过精心构造的请求触发Squid的错误处理流程,从而绕过浏览器的安全防护机制,获取受信任客户端用于认证的安全令牌或凭据信息。这些泄露的凭据通常被用于Web应用程序后端负载均衡的内部认证,一旦被恶意攻击者获取,可能导致内部系统被未授权访问。值得注意的是,此攻击并不要求Squid配置了HTTP认证功能,任何使用Squid作为反向代理或正向代理的部署都可能受到影响。
该漏洞由GitHub安全顾问团队([email protected])发现并报告,已在Squid 7.2版本中修复。作为临时缓解方案,管理员可以通过在squid.conf中配置`email_err_data off`来禁用管理员mailto链接中的调试信息,从而降低凭据泄露的风险。
该漏洞的根本原因在于Squid的错误处理模块在生成错误页面(如ERR_ACCESS_DENIED、ERR_CACHE_ACCESS_DENIED等)时,会将完整的HTTP请求头部信息嵌入到错误页面中,包括包含认证凭据的Authorization头部。当用户访问一个触发错误的URL时,错误页面中会包含完整的请求头部信息。
具体利用方式如下:
1. 攻击者构造一个包含恶意脚本或重定向逻辑的网页,当受害者的浏览器加载该页面时,会向目标Squid代理发送HTTP请求;
2. 该请求的Authorization头部包含受害者在目标Web应用程序中使用的认证凭据(如Basic认证的Base64编码字符串或Bearer Token);
3. 攻击者通过特定方式(如请求一个被拒绝的资源或触发Squid的调试错误)使Squid返回包含完整请求头部信息的错误页面;
4. 攻击者利用同源策略绕过或浏览器中的脚本注入技术,从错误页面中提取Authorization头部的值;
5. 获取的凭据可用于冒充合法用户访问受保护的资源。
该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:N/UI:C/S:C/C:H/I:H/A:N,表明攻击通过网络进行,攻击复杂度低,无需权限,但需要用户交互(如点击恶意链接),且影响范围为变更(Scope Changed),对机密性和完整性有高影响。