Rack's multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)
概要
Rack's multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
Rack is a modular Ruby web server interface. In versions prior to 2.2.19, 3.1.17, and 3.2.2, ``Rack::Multipart::Parserstores non-file form fields (parts without afilename) entirely in memory as Ruby Stringobjects. 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., Nginxclient_max_body_size`) and validating and rejecting unusually large form fields at the application level.
出典: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
ディストリビューション別の修正状況
各ディストリビューションが公開している、この CVE の修正パッケージ
- Debian DEBIAN-CVE-2025-61771 ruby-rack 修正版: 2.1.4-3+deb11u4
参照URL
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov
- patch github.com
- patch github.com
- patch github.com