Skip to content

Commit 8f7b95a

Browse files
jasnowRubySec CI
authored andcommitted
Updated advisory posts against rubysec/ruby-advisory-db@a70bd29
1 parent dfe4514 commit 8f7b95a

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
layout: advisory
3+
title: 'CVE-2026-66066 (activestorage): Possible arbitrary file read and remote code
4+
execution in Active Storage variant processing'
5+
comments: false
6+
categories:
7+
- activestorage
8+
- rails
9+
advisory:
10+
gem: activestorage
11+
framework: rails
12+
cve: 2026-66066
13+
ghsa: xr9x-r78c-5hrm
14+
url: https://www.cve.org/CVERecord/SearchResults?query=CVE-2026-66066
15+
title: Possible arbitrary file read and remote code execution in Active Storage
16+
variant processing
17+
date: 2026-07-29
18+
description: |-
19+
## Impact
20+
21+
In its default configuration, a Rails application that displays image
22+
variants may allow an unauthenticated attacker to read arbitrary files
23+
from the server, including the process environment. That environment
24+
typically holds secret_key_base and often credentials for external
25+
systems, which may in turn allow escalation to remote code execution
26+
or lateral movement to those systems.
27+
28+
## Affected applications
29+
30+
An application is affected if it meets all of these requirements:
31+
32+
* Uses libvips for Active Storage image processing. This is
33+
config.active_storage.variant_processor = :vips, which
34+
load_defaults 7.0 set and no later default has changed.
35+
* Allows image uploads from untrusted users.
36+
Generating variants is not a separate requirement.
37+
38+
## Workarounds
39+
40+
If libvips < 8.13 is being used, there are no workarounds available
41+
other than removing the dependency on libvips from the application.
42+
Some applications may have ruby-vips declared as a dependency only
43+
for image analysis, and those applications may be able to simply
44+
remove ruby-vips from the Gemfile to remove libvips from the
45+
application. Applications that do not use Active Storage can remove
46+
ruby-vips from the Gemfile to avoid the boot-time checks.
47+
48+
If libvips >= 8.13 is present on the system, applications can disable
49+
the unfuzzed operations without upgrading Rails by setting the
50+
VIPS_BLOCK_UNTRUSTED environment variable, which libvips reads while
51+
initializing.
52+
53+
Applications also running ruby-vips >= 2.2.1 or later can instead call
54+
Vips.block_untrusted(true) from an initializer.
55+
56+
## Credit
57+
58+
This issue was responsibly reported by 0xacb, s3np41k1r1t0 and castilho
59+
from Ethiack, and RyotaK from GMO Flatt Security Inc..
60+
cvss_v4: 9.5
61+
patched_versions:
62+
- "~> 7.2.3, >= 7.2.3.2"
63+
- "~> 8.0.5, >= 8.0.5.1"
64+
- ">= 8.1.3.1"
65+
related:
66+
url:
67+
- https://www.cve.org/CVERecord/SearchResults?query=CVE-2026-66066
68+
- https://rubygems.org/gems/activesupport/versions/8.1.3.1 - https://github.com/rails/rails/releases/tag/v8.1.3.1
69+
- https://rubygems.org/gems/activesupport/versions/8.0.5.1 - https://github.com/rails/rails/releases/tag/v8.0.5.1
70+
- https://rubygems.org/gems/activesupport/versions/7.2.3.2 - https://github.com/rails/rails/releases/tag/v7.2.3.2
71+
- https://blog.flatt.tech/entry/kindarails2shell_rails
72+
- https://ethiack.com/info-hub/research/kindarails2shell-rails-rce-cve
73+
- https://github.com/rails/rails/security/advisories/GHSA-xr9x-r78c-5hrm
74+
notes: |
75+
- CVE is reserved, but not published.
76+
- cvss_v4 from project GHSA
77+
- From GHSA: "Details will be disclosed no later than 2026-08-28,
78+
via the Rails Security Announcements forum."
79+
---

0 commit comments

Comments
 (0)