CVE-2026-33173
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.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No mitigations published for this CVE yet.
The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or โ if you've already worked around this in production โ publish your fix to the community-verified tier.
โ Propose a mitigation on Community โ Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here withsource_tier=community-verified.
OS impact
SUSE Affected 1 release
| Version | Status | Fixed in |
|---|---|---|
| โ | Affected | โ |
Debian Mixed 5 releases
| Version | Status | Fixed in |
|---|---|---|
| trixie | Affected | โ |
| sid | Fixed | 2:7.2.3.1+dfsg-1 |
| forky | Fixed | 2:7.2.3.1+dfsg-1 |
| bullseye | Affected | โ |
| bookworm | Affected | โ |
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| RubyGems | activestorage | <~> 7.2.3, >= 7.2.3.1 | ~> 7.2.3, >= 7.2.3.1 |
| RubyGems | activestorage | >=8.1.0.beta1,<8.1.2.1 | 8.1.2.1 |
| RubyGems | activestorage | >=8.0.0.beta1,<8.0.4.1 | 8.0.4.1 |
| RubyGems | activestorage | <7.2.3.1 | 7.2.3.1 |
| RUBYGEMS | activestorage | < 7.2.3.1 | 7.2.3.1 |
| RUBYGEMS | activestorage | >= 8.0.0.beta1, < 8.0.4.1 | 8.0.4.1 |
| RUBYGEMS | activestorage | >= 8.1.0.beta1, < 8.1.2.1 | 8.1.2.1 |
References
- https://github.com/rails/rails/security/advisories/GHSA-qcfx-2mfw-w4cg
- https://www.suse.com/security/cve/CVE-2026-33173.html
- https://nvd.nist.gov/vuln/detail/CVE-2026-33173
- 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
- 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
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/activestorage/CVE-2026-33173.yml
- https://security-tracker.debian.org/tracker/CVE-2026-33173
- https://github.com/advisories/GHSA-qcfx-2mfw-w4cg
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.