Description
Active Storage allows users to attach cloud and local files in Rails applications. Prior to versions 8.1.2.1, 8.0.4.1, and 7.2.3.1, when serving files through Active Storage's proxy delivery mode, the proxy controller loads the entire requested byte range into memory before sending it. A request with a large or unbounded Range header (e.g. `bytes=0-`) could cause the server to allocate memory proportional to the file size, possibly resulting in a DoS vulnerability through memory exhaustion. Versions 8.1.2.1, 8.0.4.1, and 7.2.3.1 contain a patch.
Problem types
CWE-789: Memory Allocation with Excessive Size Value
Product status
>= 8.0.0.beta1, < 8.0.4.1
< 7.2.3.1
References
github.com/.../rails/security/advisories/GHSA-r46p-8f7g-vvvg
github.com/...ommit/2cd933c366b777f873d4d590127da2f4a25e4ba5
github.com/...ommit/42012eaaa88dfc7d0030161b2bc8074a7bbce92a
github.com/...ommit/8159a9c3de3f27a2bcf2866b8bf9ceb9075e229b
github.com/rails/rails/releases/tag/v7.2.3.1
github.com/rails/rails/releases/tag/v8.0.4.1
github.com/rails/rails/releases/tag/v8.1.2.1