CVE-2026-26962Rack是Ruby模块化Web服务器接口。在3.2.0至3.2.6之前的版本中,Rack::Multipart::Parser在解析折叠的multipart请求头时存在缺陷。它未能正确移除折叠行中的换行符,导致解析后的参数值(如filename)中保留了嵌入的CRLF字符。若应用程序将这些值重用于HTTP响应头,攻击者可利用此漏洞进行HTTP头部注入或响应拆分,进而可能导致XSS或缓存投毒。
该漏洞源于Rack对RFC规范中“obs-fold”(头部字段折叠)的实现错误。在处理multipart/form-data请求时,解析器理应移除用于长头部换行的CRLF序列。然而,受影响版本却错误地在解析结果中保留了这些控制字符。攻击者可以通过构造特制的文件上传请求,在Content-Disposition头的filename参数中注入\r\n序列。当Rack解析此头部时,CRLF被原样保留。如果应用逻辑直接使用此受污染的文件名生成HTTP响应头(例如设置下载文件的Content-Disposition),保留的CRLF将允许攻击者注入任意响应头或通过双CRLF提前结束头部部分注入恶意响应体,从而实现CRLF注入攻击。这可能导致缓存投毒、XSS攻击或敏感信息泄露。