Rack · Rack · CVE-2026-34785
Name of the Vulnerable Software and Affected Versions
Rack versões anteriores a 2.2.23, 3.1.21 e 3.2.6
Description
O Rack::Static usa uma verificação simples de prefixo de string para determinar se uma solicitação deve ser servida como um arquivo estático. Quando configurado com prefixos de URL como "/css", ele corresponde a qualquer caminho de solicitação que comece com essa string, incluindo caminhos não relacionados, como "/css-config.env" ou "/css-backup.sql". Isso pode levar ao fornecimento não intencional de arquivos sob a raiz estática que compartilham o prefixo configurado, resultando em divulgação de informações. O problema ocorre porque a lógica de correspondência verifica apenas se o caminho da solicitação começa com a string de prefixo, sem exigir um limite de segmento de caminho. Por exemplo, com uma configuração `use Rack::Static, urls: ["/css", "/js"], root: "public"`, caminhos como `/css-config.env` e `/css-backup.sql` também são correspondidos se esses arquivos existirem sob a raiz estática. Isso pode expor arquivos de configuração, segredos, backups ou outros conteúdos estáticos não intencionais.
Recommendations
Atualize para a versão 2.2.23 ou posterior do Rack.
Atualize para a versão 3.1.21 ou posterior do Rack.
Atualize para a versão 3.2.6 ou posterior do Rack.
Evite colocar arquivos confidenciais sob o diretório raiz do `Rack::Static`.
Prefira mapeamentos de URL estáticos que não possam se sobrepor a nomes de arquivos confidenciais.