NIXPKGS-2026-0742
GitHub issue
published on 24 Mar 2026
by @LeSuisse Activity log
- Created automatic suggestion
- @LeSuisse accepted
- @LeSuisse published on GitHub
Rails Active Storage has possible content type bypass via metadata in direct uploads
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
- https://github.com/rails/rails/security/advisories/GHSA-qcfx-2mfw-w4cg x_refsource_CONFIRM
- https://github.com/rails/rails/commit/707c0f1f41f067fdf96d54e99d43b28dfaae7e53 x_refsource_MISC
- https://github.com/rails/rails/commit/8fcb934caadc79c8cc4ce53287046d0f67005b3e x_refsource_MISC
- https://github.com/rails/rails/commit/d9502f5214e2198245a4c1defe9cd02a7c8057d0 x_refsource_MISC
- https://github.com/rails/rails/releases/tag/v7.2.3.1 x_refsource_MISC
- https://github.com/rails/rails/releases/tag/v8.0.4.1 x_refsource_MISC
- https://github.com/rails/rails/releases/tag/v8.1.2.1 x_refsource_MISC
Affected products
activestorage
- ==< 7.2.3.1
- ==>= 8.1.0.beta1, < 8.1.2.1
- ==>= 8.0.0.beta1, < 8.0.4.1
Matching in nixpkgs
pkgs.rubyPackages.activestorage
None
pkgs.rubyPackages_3_1.activestorage
None
pkgs.rubyPackages_3_2.activestorage
None
pkgs.rubyPackages_3_3.activestorage
None
pkgs.rubyPackages_3_4.activestorage
None