# CVE-2026-33173: Rails Active Storage has possible content type bypass via metadata in direct uploads

Source: https://junglewise.ai/threats/cve-2026-33173-rails-active-storage-has-possible-content-type-bypass-via  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-03-23. Updated: 2026-05-11  
License: CC BY 4.0 with a link back

CVE-2026-33173 · Severity: medium · CVSS 4 · Published 2026-03-23

### Impact
Active Storage's `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 malicious direct-upload client could set these flags.

### Releases
The fixed releases are available at the normal locations.

### Credit
This was responsible reported by Hackerone researcher [pwnie](https://hackerone.com/pwnie)

Technologies: [activestorage (RubyGems)](https://junglewise.ai/threats/technologies/activestorage). Vendors: [RubyGems](https://junglewise.ai/threats/vendors/rubygems).

## Quick answers

**Is CVE-2026-33173 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-33173 being exploited in the wild.

**How severe is CVE-2026-33173?** Medium severity, with a CVSS score of 4, published 23 March 2026.

**Which products and versions are affected?** activestorage (RubyGems) ECOSYSTEM:introduced=8.1.0.beta1,fixed=8.1.2.1.

**Is there a fix for CVE-2026-33173?** Yes. activestorage (RubyGems): upgrade to 8.1.2.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2026-33173?** Check whether you run activestorage (RubyGems) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- activestorage (RubyGems): upgrade to 8.1.2.1 or later

  ```sh
  bundle update activestorage
  ```


## Affected products

- activestorage (RubyGems) ECOSYSTEM:introduced=8.1.0.beta1,fixed=8.1.2.1

## Identifiers

- CVE-2026-33173
- GHSA-qcfx-2mfw-w4cg

## References

- [https://github.com/rails/rails/security/advisories/GHSA-qcfx-2mfw-w4cg](https://github.com/rails/rails/security/advisories/GHSA-qcfx-2mfw-w4cg)
- [https://github.com/rails/rails/commit/707c0f1f41f067fdf96d54e99d43b28dfaae7e53](https://github.com/rails/rails/commit/707c0f1f41f067fdf96d54e99d43b28dfaae7e53)
- [https://github.com/rails/rails/commit/8fcb934caadc79c8cc4ce53287046d0f67005b3e](https://github.com/rails/rails/commit/8fcb934caadc79c8cc4ce53287046d0f67005b3e)
- [https://github.com/rails/rails/commit/d9502f5214e2198245a4c1defe9cd02a7c8057d0](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/v7.2.3.1)
- [https://github.com/rails/rails/releases/tag/v8.0.4.1](https://github.com/rails/rails/releases/tag/v8.0.4.1)

## Related threats

- [Active Storage: Possible local file disclosure in video previews and analysis](https://junglewise.ai/threats/cve-2026-126188-active-storage-makes-it-simple-to-upload-and-reference-files-in)
- [Ruby on Rails Active Storage arbitrary file read and RCE in media processing](https://junglewise.ai/threats/cve-2026-126186-active-storage-possible-arbitrary-file-read-and-remote-code)
- [Ruby on Rails Active Storage content length bypass in Google Cloud Storage uploads](https://junglewise.ai/threats/cve-2026-126085-active-storage-possible-circumvention-of-file-size-limits-in)
- [Ruby on Rails Active Storage GCS signature bypass](https://junglewise.ai/threats/cve-2026-126084-active-storage-makes-it-simple-to-upload-and-reference-files-in)
- [Rails Active Storage persistent DoS via NUL byte filename](https://junglewise.ai/threats/cve-2026-126074-active-storage-makes-it-simple-to-upload-and-reference-files-in)
