Rails Active Storage has possible content type bypass via metadata in direct uploads (rails activestorage)
En bref
- Source
- NVD
- EPSS
- EPSS 0.40 % · centile 34 ()
- État
- PUBLISHED
- Publiée
- Mise à jour
- Attribuée par
- GitHub_M
- Statut NVD
- Analyzed
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.
Faiblesses (CWE)
- CWE-925 — Improper Verification of Intent by Broadcast Receiver
Références
- https://github.com/rails/rails/security/advisories/GHSA-qcfx-2mfw-w4cg
- https://github.com/rails/rails/commit/707c0f1f41f067fdf96d54e99d43b28dfaae7e53
- https://github.com/rails/rails/commit/8fcb934caadc79c8cc4ce53287046d0f67005b3e
- https://github.com/rails/rails/commit/d9502f5214e2198245a4c1defe9cd02a7c8057d0
- https://github.com/rails/rails/releases/tag/v7.2.3.1
- https://github.com/rails/rails/releases/tag/v8.0.4.1
- https://github.com/rails/rails/releases/tag/v8.1.2.1
Scores
| Version | Score | Vecteur | Évalué par |
|---|---|---|---|
| CVSS 4.0 | MEDIUM 5.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N | GitHub_M |
| CVSS 4.0 | MEDIUM 5.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | MEDIUM 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N | NVD · nvd@nist.gov (Primary) |
Avis
- GHSA-qcfx-2mfw-w4cg — Rails Active Storage has possible content type bypass via metadata in direct uploads
Références européennes
- ENISA EUVD · EUVD-2026-14626
- GCVE · GCVE-0-2026-33173
Avis du CERT-FR
- CERTFR-2026-AVI-0349 — Multiples vulnérabilités dans Ruby on Rails · cert.ssi.gouv.fr
Configurations affectées (CPE NVD)
cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*< 7.2.3.1cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*≥ 8.0.0 < 8.0.4.1cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*≥ 8.1.0 < 8.1.2.1
Produits affectés
| Produit | Versions |
|---|---|
| rails · activestorage | affected >= 8.1.0.beta1, < 8.1.2.1 ; affected >= 8.0.0.beta1, < 8.0.4.1 ; affected < 7.2.3.1 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |