Rack · Rack · CVE-2026-34826
Name of the Vulnerable Software and Affected Versions
Rack versões anteriores a 2.2.23, 3.1.21 e 3.2.6
Description
A função Rack::Utils.get byte ranges analisa o cabeçalho HTTP Range sem limitar o número de intervalos de bytes individuais. Embora uma correção anterior para CVE-2024-26141 impeça intervalos que excedam o tamanho do arquivo, ela não restringe a contagem de intervalos. Um invasor pode enviar inúmeros intervalos pequenos e sobrepostos (por exemplo, '0-0,0-0,0-0,...') para causar uso excessivo de CPU, memória, E/S e largura de banda, levando a uma negação de serviço em caminhos de serviço de arquivos Rack que processam respostas de intervalo de bytes multipartes. A função `Rack::Utils.get byte ranges` aceita uma lista separada por vírgulas de intervalos de bytes e valida-os com base em seu tamanho agregado, mas não impõe um limite ao número de intervalos individuais que podem ser fornecidos. O cabeçalho HTTP `Range` é o componente vulnerável.
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.