Rack's multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)
21Vexday Risk Score
Sem sinal de exploração. Nenhum artefato público de exploração conhecido até agora.
ssvc Trackcvss 7.5epss 0.5%
probabilidade de exploração
0.5%top 58% das CVEs
exploração observada
nãonenhuma fonte reporta
Em resumo
O parser de formulários do Rack carrega campos de texto sem limite na memória, permitindo que atacantes enviem campos gigantes que esgotam a memória do servidor e travam a aplicação.
Detalhe técnico
O Rack::Multipart::Parser nas versões <2.2.19, 3.1.x <3.1.17 e 3.2.x <3.2.2 armazena campos multipart não-arquivo sem limite de tamanho como objetos String em memória (CWE-400). Um atacante pode enviar requisições multipart/form-data com campos de texto grandes (centenas de MB+) para provocar condições OOM e DoS; o impacto é amplificado sob concorrência. Corrigido nas versões 2.2.19, 3.1.17 e 3.2.2 com limite de 2 MiB para campos não-arquivo.
Resumo gerado e traduzido por IA a partir da descrição oficial.
Rack is a modular Ruby web server interface. In versions prior to 2.2.19, 3.1.17, and 3.2.2, ``Rack::Multipart::Parser` stores non-file form fields (parts without a `filename`) entirely in memory as Ruby `String` objects. A single large text field in a multipart/form-data request (hundreds of megabytes or more) can consume equivalent process memory, potentially leading to out-of-memory (OOM) conditions and denial of service (DoS). Attackers can send large non-file fields to trigger excessive memory usage. Impact scales with request size and concurrency, potentially leading to worker crashes or severe garbage-collection overhead. All Rack applications processing multipart form submissions are affected. Versions 2.2.19, 3.1.17, and 3.2.2 enforce a reasonable size cap for non-file fields (e.g., 2 MiB). Workarounds include restricting maximum request body size at the web-server or proxy layer (e.g., Nginx `client_max_body_size`) and validating and rejecting unusually large form fields at the application level.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Produtos afetados
rack · rackReferências
https://github.com/rack/rack/commit/589127f4ac8b5cf11cf88fb0cd116ffed4d2181ehttps://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29ehttps://github.com/rack/rack/commit/e08f78c656c9394d6737c022bde087e0f33336fdhttps://github.com/rack/rack/security/advisories/GHSA-w9pc-fmgc-vxvw