CVE-2026-33174 in activestorageinfo

Summary

by MITRE • 03/24/2026

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.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 05/28/2026

Active Storage represents a critical component within Ruby on Rails applications that facilitates file attachment capabilities for both cloud and local storage systems. This feature enables developers to seamlessly integrate file handling into their web applications while maintaining compatibility across various storage backends. The vulnerability under examination specifically targets the proxy delivery mode functionality that Active Storage employs when serving files to end users. When operating in proxy mode, the system acts as an intermediary between the client and the actual storage location, retrieving files from their permanent storage and delivering them to requesting users. The security concern emerges from how the proxy controller processes byte range requests, particularly when handling requests that specify large or unbounded ranges.

The technical flaw manifests in the proxy controller's memory management approach during file delivery operations. When a client makes a request using a Range header with a large or unbounded specification such as bytes=0-, the proxy controller loads the entire requested byte range into memory before transmitting the data. This behavior creates a significant memory allocation issue where the system's memory consumption scales linearly with the file size being requested. The vulnerability becomes particularly dangerous when attackers exploit this by sending malicious Range headers that request portions of files that are orders of magnitude larger than typical file sizes. This memory allocation pattern can quickly exhaust available system resources, leading to denial of service conditions that effectively render the application unavailable to legitimate users.

The operational impact of this vulnerability extends beyond simple service disruption to encompass potential system instability and resource exhaustion across multiple application layers. When memory consumption grows proportionally to file size, servers may experience sudden and dramatic increases in memory usage that can trigger garbage collection overhead, system swapping, or even complete system crashes. The vulnerability affects all Rails versions prior to the patched releases including 8.1.2.1, 8.0.4.1, and 7.2.3.1, creating a widespread risk across numerous application deployments. Organizations running Rails applications with Active Storage functionality are particularly vulnerable since this represents a core feature rather than an optional component, making the attack surface significantly broader than typical application vulnerabilities.

Security practitioners should recognize this vulnerability as aligning with CWE-400, which specifically addresses "Uncontrolled Resource Consumption" or "Resource Exhaustion" conditions. The flaw demonstrates characteristics consistent with the attack patterns documented in the ATT&CK framework under the T1499.004 technique for "Network Denial of Service" and T1566.001 for "Phishing with Malicious Attachment" when considering the potential for exploitation through crafted file requests. The patch implemented in the affected versions addresses the memory allocation behavior by introducing proper streaming mechanisms that process and deliver file content in chunks rather than loading entire ranges into memory simultaneously. Organizations should prioritize immediate patching of affected systems and implement monitoring for unusual Range header patterns that might indicate attempted exploitation. Additionally, network-level controls such as rate limiting and request size validation can provide additional defense-in-depth measures against this particular class of denial of service attacks.

The vulnerability highlights fundamental security considerations in modern web application architecture where features designed for convenience can introduce unexpected resource consumption patterns. Active Storage's proxy delivery mode was intended to provide flexibility in file serving operations while maintaining security through controlled access, but this implementation flaw demonstrates how seemingly benign features can become attack vectors when resource management is inadequate. The fix implemented by the Rails team represents a proper remediation approach that maintains the intended functionality while addressing the underlying memory consumption issue through efficient streaming mechanisms that process data in manageable chunks rather than loading entire file portions into memory. This resolution aligns with established security principles that emphasize resource constraint management and proper input validation in web application contexts.

Responsible

GitHub M

Reservation

03/17/2026

Disclosure

03/24/2026

Moderation

accepted

CPE

ready

EPSS

0.00024

KEV

no

Activities

very low

Sources

Do you need the next level of professionalism?

Upgrade your account now!