CVE-2025-60876CVE-2025-60876是BusyBox wget 1.3.7及之前版本中的一个高危安全漏洞。该漏洞源于wget在处理HTTP请求时,未能正确过滤和验证HTTP请求目标(URI路径和查询字符串)中的控制字符。具体来说,wget接受了原始的CR(回车符,0x0D)、LF(换行符,0x0A)以及其他C0控制字符,这些字符本应在HTTP协议层面被禁止。攻击者可以利用此漏洞在HTTP请求中注入恶意的CRLF序列,从而在请求行之后注入额外的HTTP头部,实现HTTP请求走私攻击。这种攻击可能导致代理缓存污染、认证绕过、会话劫持等安全问题。由于该漏洞影响网络可达性且无需认证即可利用,对使用BusyBox wget的系统构成中等程度的安全威胁。CVSS 3.1评分6.5(中等严重程度),攻击向量为网络级别,复杂度低,无需特殊权限或用户交互。
该漏洞的核心问题在于BusyBox wget对HTTP请求构建过程的输入验证不足。HTTP/1.1协议规范(RFC 7230)明确规定,请求行(Request-Line)的结构为:method SP request-target SP HTTP-version CRLF,其中SP代表空格字符(0x20),CRLF代表回车换行序列(0x0D 0x0A)。协议要求请求目标中不应包含控制字符,以防止请求行被意外截断或注入额外内容。然而,BusyBox wget在1.3.7及之前版本中,直接将用户提供的URL路径和查询字符串用于构建HTTP请求,未进行充分的字符过滤。攻击者可以通过在URL中嵌入CR(0x0D)和LF(0x0A)字符,使wget生成格式异常的HTTP请求。例如,一个包含%0D%0ACustom-Header:%20evil的URL路径,会在HTTP请求中产生额外的头部行。这种请求走私技术允许攻击者:1)在多跳网络环境中欺骗代理服务器,使其将单个请求解释为多个请求;2)污染Web缓存,导致用户获取恶意内容;3)绕过基于请求头的安全检查机制。由于空格字符(0x20)也可能被接受,攻击者甚至可以构造完全自定义的请求行结构。