CVE-2026-42578Netty是一个广泛使用的异步事件驱动网络应用框架。在4.2.13.Final和4.1.133.Final版本之前,Netty的HttpProxyHandler组件存在严重的安全漏洞。该组件在构建HTTP CONNECT请求时,显式禁用了头部验证机制。代码直接将用户提供的出站头部添加到请求消息中,且未对关键字符(如CRLF)进行有效过滤。这使得攻击者一旦能够控制出站头部,就能向代理服务器发送的CONNECT请求中注入任意HTTP头部,进而引发请求走私或缓存投毒等攻击。
该漏洞的根源位于Netty的`HttpProxyHandler`类中。具体而言,`newInitialMessage()`方法负责构建发送给代理服务器的HTTP CONNECT请求。代码逻辑中显式调用了`DefaultHttpHeadersFactory.headersFactory().withValidation(false)`,这导致在创建请求头时关闭了Netty默认的安全验证机制。紧接着,程序将外部传入的`outboundHeaders`直接合并到请求中,且未对其中是否包含CRLF(回车换行符)进行二次校验。攻击者可以利用这一缺陷,在原本的HTTP Header字段中插入`\r\n`字符。由于HTTP协议使用CRLF来区分头部行和头部与主体,注入这些字符允许攻击者伪造额外的头部字段(如`Host`或`Authorization`)或切断请求。这种攻击向量通常被称为CRLF注入,在特定场景下可演变为HTTP请求走私。由于该组件常用于反向代理或网关场景,此类注入可能导致中间代理设备对后续请求的解析错误,进而绕过安全检测或劫持用户会话。