Untriaged
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/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
- ==>= 8.1.0.beta1, < 8.1.2.1
- ==< 7.2.3.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