CVE-2026-34785Rack是一个模块化的Ruby Web服务器接口。在2.2.23、3.1.21和3.2.6之前的版本中,`Rack::Static`组件存在安全漏洞。该组件使用简单的前缀字符串检查来确定请求是否应作为静态文件提供服务。当配置了URL前缀(如"/css")时,它会匹配所有以该字符串开头的请求路径,包括不相关的路径如"/css-config.env"。这导致静态根目录下仅共享配置前缀名称的文件可能被意外提供,从而造成信息泄露。
该漏洞的核心在于`Rack::Static`中间件对静态文件路径的处理逻辑过于宽松。当开发人员配置静态文件服务时,通常指定一个URL前缀(如`/css`)映射到服务器上的某个目录。Rack仅检查请求路径是否以该前缀开头,而未验证前缀后的字符是否为路径分隔符(如`/`)。因此,攻击者可以利用这一缺陷,通过构造特定的URL(例如`/css-backup.sql`),欺骗服务器将其视为合法的静态资源请求。如果服务器根目录下恰好存在名为`css-backup.sql`的敏感文件,该文件将被直接发送给攻击者,且无需任何身份认证。这种利用方式简单直接,严重威胁应用程序的敏感数据安全。