CVE-2025-24293 is a command injection vulnerability in Ruby on Rails Active Storage. Active Storage includes a default allowlist intended to block unsafe image transformation methods and parameters, but three allowed transformation methods can be abused to bypass those safe defaults. In applications that pass untrusted user-controlled input into Active Storage variant transformation methods or their arguments, an attacker may supply crafted transformation options that reach the underlying image processing pipeline in an unsafe manner. The issue affects deployments that use Active Storage together with the image_processing gem and MiniMagick as the image processor.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos (2 hidden).
This repository is a real exploit PoC and local lab for CVE-2026-66066, targeting vulnerable Rails Active Storage/libvips processing. The main exploit is the single-file Python client kr2s.py, which uses only the Python standard library. Its core capability is arbitrary file read: it crafts a hybrid MATLAB/HDF5 payload whose external dataset points to an attacker-chosen absolute file on the target, uploads it through Rails Active Storage direct uploads while declaring it as image/png, harvests an existing Active Storage variation key from a rendered thumbnail, and triggers the built-in representation route so libvips/matio reads target file bytes and returns them as PNG pixels. The client then decodes the PNG and reconstructs the original bytes. The exploit supports multiple operator workflows: check, read, secrets, scan, probe, and rce. The secrets workflow focuses on environment and Rails credential files, especially /proc/self/environ to recover SECRET_KEY_BASE. If that secret is recovered or supplied manually, the RCE stage derives the Active Storage verifier key and forges a signed variation JSON containing an instance_eval operation, then executes an operator-provided shell command via /bin/sh. Output is written to a random /tmp/.kr2s_* file, read back through the same file-read primitive, and then removed. Repository structure: kr2s.py is the primary exploit entry point; tests/test_kr2s.py validates payload crafting, signing, PNG recovery, target normalization, and scan parsing; research/craft.py generates alternate candidate payloads for loader research using h5py/numpy; lab/ contains a Dockerized vulnerable Rails application and helper scripts. The lab app is intentionally ordinary: a small photo wall that exposes thumbnails, enabling harvest of a signed variation key without adding exploit-specific routes. lab/matrix.sh builds multiple Rails versions and verifies expected vulnerable vs patched behavior. lab/probe/probe.sh evaluates which libvips loaders accept candidate payloads and whether Vips.block_untrusted blocks them. Overall, this is an operational exploit/research repository rather than a mere detector. It includes both exploitation logic and a reproducible local environment for validating arbitrary file read and conditional RCE across affected Rails versions.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
5 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.