CVE-2026-33195
Rails: Active Storage: Active Storage (Rails): Arbitrary file access via path traversal in blob keys
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD. Rated lower by GHSA (high), Red Hat (high).
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, Active Storage's `DiskService#path_for` does not validate that the resolved filesystem path remains within the storage root directory. If a blob key containing path traversal sequences (e.g. `../`) is used, it could allow reading, writing, or deleting arbitrary files on the server. Blob keys are expected to be trusted strings, but some applications could be passing user input as keys and would be affected. Versions 8.1.2.1, 8.0.4.1, and 7.2.3.1 contain a patch.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| chainguard | gitlab-rails-ce-18.10, gitlab-rails-ce-18.8, gitlab-rails-ce-18.9 and 4 more | 18.10.3-r1 and 5 more |
| debian 11 | rails | no fix listed |
| debian 12 | rails | 2:6.1.7.10+dfsg-1~deb12u3 |
| debian 13 | rails | 2:7.2.2.2+dfsg-2~deb13u2 |
| debian 14 | rails | 2:7.2.3.1+dfsg-1 |
| echo | rails | 2:6.1.7.10+dfsg-1~deb12u3 |
| rapidfort debian 12 | rails | 2:6.1.7.10+dfsg-1~deb12u3, 2:7.2.2.2+dfsg-2~deb13u2, 2:7.2.3.1+dfsg-1 |
| rapidfort debian 13 | rails | 2:6.1.7.10+dfsg-1~deb12u3, 2:7.2.2.2+dfsg-2~deb13u2, 2:7.2.3.1+dfsg-1 |
| rubygems::GitHub Security Advisory RubyGems | activestorage | 8.1.2.1, 8.0.4.1, 7.2.3.1 |
| rubygems::Ruby Advisory Database | activestorage | ~> 7.2.3, >= 7.2.3.1, ~> 8.0.4, >= 8.0.4.1, >= 8.1.2.1 |
| wolfi | ruby3.2-rails-8.1 | 8.1.3-r0 |
Show all 17 entries from 11 sources
| Source | Package | Fixed in |
|---|---|---|
| chainguard | gitlab-rails-ce-18.10 | 18.10.3-r1 |
| chainguard | gitlab-rails-ce-18.8 | 18.8.11-r4 |
| chainguard | gitlab-rails-ce-18.9 | 18.9.5-r0 |
| chainguard | gitlab-rails-ce-fips-18.10 | 18.10.3-r0 |
| chainguard | gitlab-rails-ce-fips-18.9 | 18.9.5-r0 |
| chainguard | ruby3.2-rails-8.1 | 8.1.3-r0 |
| chainguard | ruby3.4-rails-8.0 | 8.0.5-r0 |
| debian 11 | rails | no fix listed |
| debian 12 | rails | 2:6.1.7.10+dfsg-1~deb12u3 |
| debian 13 | rails | 2:7.2.2.2+dfsg-2~deb13u2 |
| debian 14 | rails | 2:7.2.3.1+dfsg-1 |
| echo | rails | 2:6.1.7.10+dfsg-1~deb12u3 |
| rapidfort debian 12 | rails | 2:6.1.7.10+dfsg-1~deb12u3, 2:7.2.2.2+dfsg-2~deb13u2, 2:7.2.3.1+dfsg-1 |
| rapidfort debian 13 | rails | 2:6.1.7.10+dfsg-1~deb12u3, 2:7.2.2.2+dfsg-2~deb13u2, 2:7.2.3.1+dfsg-1 |
| rubygems::GitHub Security Advisory RubyGems | activestorage | 8.1.2.1, 8.0.4.1, 7.2.3.1 |
| rubygems::Ruby Advisory Database | activestorage | ~> 7.2.3, >= 7.2.3.1, ~> 8.0.4, >= 8.0.4.1, >= 8.1.2.1 |
| wolfi | ruby3.2-rails-8.1 | 8.1.3-r0 |
References
- https://access.redhat.com/security/cve/CVE-2026-33195
- https://bugzilla.redhat.com/show_bug.cgi?id=2450546
- https://github.com/advisories/GHSA-9xrj-h377-fr87
- https://github.com/rails/rails
- https://github.com/rails/rails/commit/4933c1e3b8c1bb04925d60347be9f69270392f2c
- https://github.com/rails/rails/commit/9b06fbc0f504b8afe333f33d19548f3b85fbe655
- https://github.com/rails/rails/commit/a290c8a1ec189d793aa6d7f2570b6a763f675348
- https://github.com/rails/rails/releases/tag/v7.2.3.1
All 15 references
- 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/rails/rails/security/advisories/GHSA-9xrj-h377-fr87
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/activestorage/CVE-2026-33195.yml
- https://nvd.nist.gov/vuln/detail/CVE-2026-33195
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-33195.json
- https://www.cve.org/CVERecord?id=CVE-2026-33195