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, `DirectUploadsController` accepts arbitrary metadata from the client and persists it on the blob. Because internal flags like `identified` and `analyzed` are stored in the same metadata hash, a direct-upload client can set these flags to skip MIME detection and analysis. This allows an attacker to upload arbitrary content while claiming a safe `content_type`, bypassing any validations that rely on Active Storage's automatic content type identification. Versions 8.1.2.1, 8.0.4.1, and 7.2.3.1 contain a patch.
References (7)
Core 7
Core References
Vendor Advisory x_refsource_confirm
https://github.com/rails/rails/security/advisories/GHSA-qcfx-2mfw-w4cg
Patch x_refsource_misc
https://github.com/rails/rails/commit/707c0f1f41f067fdf96d54e99d43b28dfaae7e53
Patch x_refsource_misc
https://github.com/rails/rails/commit/8fcb934caadc79c8cc4ce53287046d0f67005b3e
Patch x_refsource_misc
https://github.com/rails/rails/commit/d9502f5214e2198245a4c1defe9cd02a7c8057d0
Release Notes x_refsource_misc
https://github.com/rails/rails/releases/tag/v7.2.3.1
Release Notes x_refsource_misc
https://github.com/rails/rails/releases/tag/v8.0.4.1
Release Notes x_refsource_misc
https://github.com/rails/rails/releases/tag/v8.1.2.1
Scores
CVSS v3
5.3
EPSS
0.0039
EPSS Percentile
30.7%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
partial
Details
CWE
CWE-925
Status
published
Products (7)
rails/activestorage
< 7.2.3.1
rails/activestorage
>= 8.0.0.beta1, < 8.0.4.1
rails/activestorage
>= 8.1.0.beta1, < 8.1.2.1
rubygems/activestorage
0 - 7.2.3.1RubyGems
rubygems/activestorage
8.0.0.beta1 - 8.0.4.1RubyGems
rubygems/activestorage
8.1.0.beta1 - 8.1.2.1RubyGems
rubyonrails/rails
< 7.2.3.1
Published
Mar 24, 2026
Tracked Since
Mar 24, 2026