Intel

AIKIDO-2026-333731

activestorage is vulnerable to Arbitrary File Read

Arbitrary File ReadCVE-2026-66066 Published 4 days ago

95

Critical Risk

This Affects:

RUBYactivestorage
5.2.0 - 7.2.3.1
Fixed in 7.2.3.2
8.0.0 - 8.0.5
Fixed in 8.0.5.1
8.1.0 - 8.1.3
Fixed in 8.1.3.1
Are you affected? Scan for Free

TL;DR

Active Storage leaves libvips unfuzzed and untrusted loaders and savers enabled when using the default :vips variant processor, so crafted uploaded images can invoke operations that are not safe for untrusted content. An unauthenticated attacker who can upload a file and trigger variant processing can read arbitrary files reachable by the app process, including environment values such as secret_key_base and other credentials, which can escalate to remote code execution or lateral movement. The fix calls Vips.block_untrusted(true) during Active Storage boot so those untrusted operations are disabled before transformers or analyzers run.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range, your application uses Active Storage with config.active_storage.variant_processor = :vips (the default since load_defaults 7.0), and untrusted users can upload images.

Background info

activestorage is vulnerable to Arbitrary File Read in versions 5.2.0 - 7.2.3.1, 8.0.0 - 8.0.5 and 8.1.0 - 8.1.3.

How to fix this

Upgrade the activestorage library to the patch version.

Links