CVE-2026-32762Rack 是 Ruby Web 服务器接口。受影响版本在解析 Forwarded 头部时存在逻辑缺陷,在处理引号字符串前按分号分割头部。这导致恶意构造的包含分号的引号值被解析为多个指令。攻击者可利用此差异绕过上游代理校验,走私 host、proto 等参数,可能劫持会话或绕过安全限制。
漏洞源于 Rack::Utils.forwarded_values 对 RFC 7239 Forwarded 头部的处理不当。标准规定引号内的分号不应作为分隔符,但 Rack 在解析时先按分号分割,导致引号内的分号被误判。当部署环境中存在上游代理或 WAF 时,如果它们严格遵守 RFC 7239 正确处理引号,而 Rack 错误分割,攻击者可发送如 `For="[;proto=https];by=attacker"` 的头部。代理认为这是一个合法的 `For` 值,但 Rack 将其解析为 `For="["` 和 `proto=https`,从而注入恶意参数。这可能导致信任伪造的请求来源或协议(HTTP/HTTPS),绕过安全逻辑。