Safeguard
Vulnerability Analysis•

CVE-2026-33195: Critical Path Traversal in Rails Active Storage

CVE-2026-33195 is a path traversal in Rails Active Storage DiskService. Upgrade to Rails 8.1.2.1, 8.0.4.1 or 7.2.3.1 and avoid user input as blob keys.

Safeguard Security Team
3 min read

CVE-2026-33195 is a critical (CVSS 9.8) path traversal in Rails Active Storage. DiskService#path_for does not confirm the resolved path stays inside the storage root. Upgrade to Rails 8.1.2.1, 8.0.4.1 or 7.2.3.1, and never use user input as a blob key.

What's affected

Rails releases before 8.1.2.1, 8.0.4.1 and 7.2.3.1 using the Active Storage disk service. The patched versions are 8.1.2.1, 8.0.4.1 and 7.2.3.1.

Blob keys are meant to be trusted strings. The record says only applications that pass user input as keys are affected, but if yours does, an attacker could read, write or delete arbitrary files on the server.

How to check if you're exposed

Check your Rails version:

bundle exec rails -v
bundle list | grep activestorage

Then check config/storage.yml for a service of type Disk, and search your code for places that build or accept blob keys from request parameters.

What to do now

  1. Upgrade Rails to 8.1.2.1, 8.0.4.1 or 7.2.3.1 and redeploy.
  2. Never accept blob keys from users. Let Active Storage generate them.
  3. If you cannot upgrade yet, validate any key that touches storage and reject any containing parent directory segments.
  4. Run the file system under a least privilege account so a bug here cannot reach sensitive paths.

Why it matters

The weakness is CWE-22. The disk service joins a blob key onto the storage root without checking the result. A key with traversal sequences can therefore point outside that root.

The impact covers reading, writing and deleting files, which is why the scoring is high even though it depends on how an app handles keys. The record does not mark this CVE as listed in CISA KEV. A lockfile check across all your Rails apps is the quickest way to find the ones that need the update.

Try it yourself

Click through it at your own pace, or open it full screen.

You can also paste your Gemfile.lock into the free in-browser dependency scan.

Quick check

Does this affect apps using S3 or other cloud storage?

The record names the DiskService, so cloud services are not the described path. Confirm in your own storage.yml which service you use.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.