← voltar
CVE-2025-61919

Rack is vulnerable to a memory-exhaustion DoS through unbounded URL-encoded body parsing

CVSS 7.5 HIGHEPSS 0.6%CWE-400
Em resumo

Servidores Rack podem ser derrubados enviando requisições com dados de formulário muito grandes que consomem toda a memória disponível. Um atacante pode enviar formulários URL-encoded gigantescos, fazendo o servidor ficar sem memória e parar de responder.

Detalhe técnico

Rack::Request#POST nas versões anteriores a 2.2.20, 3.1.18 e 3.2.3 realiza buffer ilimitado de corpos de requisição application/x-www-form-urlencoded via rack.input.read(nil), sem limites de tamanho impostos. Um atacante remoto não autenticado pode enviar uma requisição POST grande com Content-Type: application/x-www-form-urlencoded para esgotar a memória do servidor e causar negação de serviço. A mitigação requer atualização para versões corrigidas e imposição de limites de tamanho de corpo na camada de proxy/servidor web.

Resumo gerado e traduzido por IA a partir da descrição oficial.
Rack is a modular Ruby web server interface. Prior to versions 2.2.20, 3.1.18, and 3.2.3, `Rack::Request#POST` reads the entire request body into memory for `Content-Type: application/x-www-form-urlencoded`, calling `rack.input.read(nil)` without enforcing a length or cap. Large request bodies can therefore be buffered completely into process memory before parsing, leading to denial of service (DoS) through memory exhaustion. Users should upgrade to Rack version 2.2.20, 3.1.18, or 3.2.3, anu of which enforces form parameter limits using `query_parser.bytesize_limit`, preventing unbounded reads of `application/x-www-form-urlencoded` bodies. Additionally, enforce strict maximum body size at the proxy or web server layer (e.g., Nginx `client_max_body_size`, Apache `LimitRequestBody`).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Produtos afetados
rack · rack

Quer saber se a sua infraestrutura está exposta a isto?

Falar com a TrueHacking →