CVE-2026-24489Gakido是一个专注于浏览器模拟和反爬虫规避的Python HTTP客户端。该漏洞存在于0.1.1之前的版本中,允许攻击者通过在用户提供的HTTP头部名称和值中注入CRLF(回车换行)序列来执行HTTP头部注入攻击。当使用包含\r\n(CRLF)、\n(LF)或\x00(空字节)字符的用户控制头部值发起HTTP请求时,攻击者可以在请求中注入任意HTTP头部。这可能导致会话固定攻击、跨站脚本(XSS)通过头部注入、缓存中毒以及绕过安全策略等危害。攻击者无需认证即可利用此漏洞,且影响HTTP请求的完整性和机密性。
漏洞根源在于Gakido在构建HTTP请求时未对用户提供的头部名称和值进行充分验证。攻击者可以在头部值中插入CRLF序列(如\r\n),使HTTP解析器认为新头部开始,从而注入任意头部内容。例如,在User-Agent头部值中注入\r\nX-Injected-Header: malicious\r\n\r\n,HTTP服务器会将其解析为两个独立的HTTP头部。攻击者可以利用此技术注入Set-Cookie头部进行会话固定,或注入CSP头部绕过内容安全策略。修复版本0.1.1通过新增_sanitize_header()函数,在将头部加入请求前过滤掉所有\r、\n和\x00字符,有效阻止了CRLF注入攻击。