CVE-2026-34830Rack是一款模块化Ruby Web服务器接口。在特定版本之前,Rack::Sendfile组件在处理X-Accel-Mapping请求头时存在安全缺陷。由于该头部值未经转义直接被用于构建正则表达式以重写文件路径,导致攻击者可注入正则元字符。在配合Nginx使用x-accel-redirect的部署场景下,攻击者可利用此漏洞操纵响应头,致使Nginx服务器意外暴露内部配置的敏感文件,造成信息泄露风险。
漏洞核心在于Rack::Sendfile#map_accel_path方法对用户输入处理不当。当应用运行于Nginx后端并启用sendfile特性时,系统依赖X-Accel-Mapping头部将内部路径映射为重定向URL。受影响版本的代码直接将攻击者可控的头部值拼入正则表达式,未进行任何转义。这使得攻击者能够注入正则元字符,从而篡改路径匹配逻辑。通过精心构造的请求头,攻击者可以绕过原有的路径限制,诱导应用生成指向敏感系统文件(如/etc/passwd、数据库配置等)的X-Accel-Redirect响应头。Nginx根据此头部执行内部重定向,误将敏感文件作为静态资源发送给攻击者,导致严重的机密性泄露。