CVE-2026-40560该漏洞存在于Perl语言的Starman HTTP服务器中。在0.4018版本之前,Starman未能正确处理HTTP请求头部。根据RFC 7230标准,当“Content-Length”和“Transfer-Encoding: chunked”同时出现时,应优先处理“Transfer-Encoding”。然而,Starman错误地优先处理了“Content-Length”。这一缺陷可能导致攻击者通过前端反向代理实施HTTP请求走私攻击,进而可能窃取敏感数据或绕过安全检查。
该漏洞的核心在于HTTP请求解析时的头部优先级逻辑错误。RFC 7230第3.3.3节明确规定,当请求中同时包含“Content-Length”和“Transfer-Encoding”头部时,接收者必须优先处理“Transfer-Encoding”并忽略“Content-Length”。Starman在旧版本中未遵循此标准,反向解析了优先级。攻击者可以通过构造包含这两个冲突头部的恶意HTTP请求,欺骗前端代理(如Nginx或HAProxy)和后端Starman服务器对请求边界的理解不一致。前端可能认为请求已结束,而后端Starman仍在等待数据,或者反之,从而将 smuggled 的请求走私到后端处理,导致安全机制绕过或缓存投毒。