Skip to main content

Rails Active Storage CVE-2025-24293

CRITICAL
Command Injection (CWE-77)
2026-01-30 support@hackerone.com GHSA-r4mg-4433-c7g3
9.2
CVSS 4.0 · Vendor: hackerone
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify endpoint passing input to variant
  2. Delivery
    Send crafted transformation method/params
  3. Exploit
    Bypass allow-list via circumvention method
  4. Execution
    Inject command into ImageMagick call
  5. Impact
    Execute arbitrary OS commands on server

Vulnerability Assessment

Weakness
CWE
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the application to use Active Storage with the image_processing gem AND the MiniMagick processor (ImageMagick backend), AND to pass arbitrary untrusted user input as the variant transformation method or its parameters (e.g. blob.variant(params[:t] => params[:v])). The specific enabler is that three methods on Active Storage's default allowed-methods list can be used to bypass the safe-transformation defaults. Limiting factors: default Rails applications that do not feed user input into transformation methods/parameters are NOT exploitable (the CVSS 4.0 AT:P attack requirement reflects exactly this precondition); using a different image processor than MiniMagick, or applying server-side validation/fixed transformation mappings, also prevents exploitation. No attacker authentication is required (PR:N) and no user interaction is needed (UI:N), but the insecure application coding pattern must be present.

Impact

Signals are mixed and must be weighed together. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H, score 9.2) reflects high technical impact (full confidentiality/integrity/availability loss) reachable over the network without privileges or user interaction - but it critically includes AT:P, an Attack Requirement, meaning successful exploitation depends on a precondition: the application must actually pass untrusted user input into transformation methods/parameters, behavior Rails explicitly documents as unsupported and dangerous. This is therefore not exploitable against a default Rails app; it requires an insecure application coding pattern plus the image_processing + MiniMagick stack. EPSS is low (0.22%, 44th percentile) and no POC is identified, consistent with a vulnerability gated behind non-default, developer-introduced usage rather than a universally exploitable flaw. It is not in CISA KEV. Net: a genuinely high-severity, RCE-class issue worth prompt patching, but real-world exposure is narrow and conditional on application code, not a mass-exploitable internet-wide bug.

Exploit ScenarioDerived

An application renders user-customizable image variants, e.g. image_tag blob.variant(params[:t] => params[:v]), exposing the transformation method and value to request input. A remote attacker submits a crafted method/parameter pair that selects one of the three circumvention-enabling allow-list methods and smuggles shell metacharacters into the MiniMagick/ImageMagick command, achieving OS command execution on the server. No public exploit code is identified at time of analysis, and the network/low-complexity vector still requires the app to expose this unsafe pattern (AT:P).

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv5 – Jun 30, 2026

Command injection in Ruby on Rails Active Storage allows attackers to abuse a permissive default allow-list of image transformation methods, escaping the framework's safe-transformation guardrails when an application forwards untrusted input as the transformation method or its parameters. Three methods on the default allow-list can be used to circumvent the safe defaults and reach the underlying ImageMagick processor, enabling OS command injection (CVSS 4.0 9.2). No public exploit has been identified at time of analysis, and EPSS is low at 0.22% (44th percentile), but a vendor patch is available and the issue is RCE-class.

Earlier versions of this analysis (4)
v4 Jun 30, 2026 - 04:01 cvss changed CVSS 9.2

Command injection in Ruby on Rails Active Storage (>= 5.2.0) lets remote attackers execute arbitrary commands when an application passes untrusted user input as image transformation method names or parameters. Active Storage's default allow-list includes three methods that can circumvent its safe defaults, but exploitation requires the app to use the image_processing gem with the mini_magick processor and to feed user-controlled input into blob.variant. No public exploit has been identified at time of analysis, and EPSS is low (0.22%); a vendor patch is available.

v3 Jun 30, 2026 - 04:00 cvss changed CVSS 9.2

Command injection in Ruby on Rails Active Storage (>= 5.2.0) allows attackers to circumvent the safe-default image transformation allow-list when an application passes untrusted user input as transformation method names or parameters. The default allow-list contains three methods that can be abused to reach unsafe MiniMagick/ImageMagick operations, enabling OS command injection in vulnerable apps. No public exploit identified at time of analysis; EPSS is low (0.22%, 44th percentile) and the issue is not in CISA KEV, reflecting that exploitation requires an insecure application coding pattern rather than affecting all Rails deployments.

v2 Jun 30, 2026 - 04:00 cvss changed CVSS 9.2

Command injection in Ruby on Rails Active Storage allows remote attackers to execute arbitrary commands on the server when an application passes untrusted user input as image transformation methods or parameters. The flaw stems from three methods in Active Storage's default allowed-transformations list that can bypass the framework's safe defaults, but only impacts apps using the image_processing gem with the mini_magick processor. No public exploit has been identified at time of analysis and EPSS exploitation probability is low (0.22%), so risk is concentrated on applications that genuinely expose transformation parameters to user input.

v1 Mar 12, 2026 - 22:00

Active Storage allowed transformation methods potentially unsafe

Active Storage attempts to prevent the use of potentially unsafe image transformation methods and parameters by default.

RemediationAI

Patch available per vendor advisory: upgrade Rails to the fixed release indicated in GHSA-r4mg-4433-c7g3 (https://github.com/advisories/GHSA-r4mg-4433-c7g3), citing the exact patched version for your Rails series before deploying. Until you can upgrade, stop consuming user-supplied input for image transformation methods or their parameters entirely - this is unsupported behavior, so the most effective control is to never bind request params into blob.variant(...) and instead map user choices to a fixed server-side dictionary of vetted transformations (trade-off: a code change that removes dynamic transformation flexibility). Additionally, enforce strict allow-list validation of any method names and argument values, and deploy a hardened ImageMagick security policy (policy.xml per https://imagemagick.org/script/security-policy.php) to disable risky coders/delegates and constrain resources (trade-off: an overly strict policy can break legitimate image formats/operations, so test against your real workload first).

Affected Packages

rubygems activestorage fix: 7.1.5.2, 7.2.2.2, 8.0.2.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in rubygems

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Active Storage is the Ruby on Rails subsystem for file/attachment handling; image variants are produced through the image_processing gem backed by an image processor - here MiniMagick, which shells out to ImageMagick. To reduce risk, Active Storage maintains an allow-list of transformation methods and parameters considered safe. The root cause (CWE-77, Command Injection) is that the default allow-list includes three methods that let a caller circumvent those safe defaults and pass attacker-controlled values into ImageMagick command construction. The vulnerable pattern is application code that binds request parameters directly into a variant, e.g. blob.variant(params[:t] => params[:v]), so untrusted method names/arguments flow into the MiniMagick/ImageMagick invocation.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (hackerone) PRIMARY 9.2 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Network-reachable RCE (C/I/A:H), but AC:H because exploitation depends on the non-default condition that the app forwards untrusted input into transformation methods; no attacker auth (PR:N).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 8.1 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Red Hat 8.1 HIGH

Primary rating from Vendor (hackerone).

CVSS VectorVendor: hackerone

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

7
Analysis Updated
Jun 30, 2026 - 04:02 vuln.today
v5 - CVSS changed
Analysis Updated
Jun 30, 2026 - 04:01 vuln.today
v4 - CVSS changed
Analysis Updated
Jun 30, 2026 - 04:00 vuln.today
v3 - CVSS changed
Analysis Updated
Jun 30, 2026 - 04:00 vuln.today
v2 - CVSS changed
CVSS changed
Jun 30, 2026 - 03:23 NVD
9.2 (CRITICAL)
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
CVE Published
Jan 30, 2026 - 21:15 nvd
N/A

DescriptionCVE.org

Active Storage allowed transformation methods potentially unsafe

Active Storage attempts to prevent the use of potentially unsafe image transformation methods and parameters by default.

The default allowed list contains three methods allow for the circumvention of the safe defaults which enables potential command injection vulnerabilities in cases where arbitrary user supplied input is accepted as valid transformation methods or parameters.

Impact ------ This vulnerability impacts applications that use Active Storage with the image_processing processing gem in addition to mini_magick as the image processor.

Vulnerable code will look something similar to this:

<%= image_tag blob.variant(params[:t] => params[:v]) %>

Where the transformation method or its arguments are untrusted arbitrary input.

All users running an affected release should either upgrade or use one of the workarounds immediately.

Workarounds ----------- Consuming user supplied input for image transformation methods or their parameters is unsupported behavior and should be considered dangerous.

Strict validation of user supplied methods and parameters should be performed as well as having a strong ImageMagick security policy deployed.

Credits -------

Thank you lio346 for reporting this!

Executive ViewAI

Why It Matters

Ruby on Rails Active Storage contains a critical remote code execution vulnerability (CVE-2025-24293) affecting applications that process user-supplied image transformations. Successful exploitation enables attackers to execute arbitrary commands on affected servers, potentially compromising sensitive data, infrastructure, and business operations. A vendor patch is available and should be deployed immediately to all affected systems.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 56% exploitable
Prevalence
High
Ruby on Rails is a widely deployed enterprise web framework; Active Storage common
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat Yes
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Immediate
Exploitation· derived
Active
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

81
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: +20
Weaponized: +15
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected
SUSE Linux Enterprise Server for SAP applications 16.0 Affected
openSUSE Leap 16.0 Affected
SUSE Linux Enterprise High Availability Extension 12 SP5 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy