<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Active Storage (&lt; 8.0.5.2, &gt;= 8.1.0.beta1 &lt; 8.1.4.1) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/active-storage--8.0.5.2--8.1.0.beta1--8.1.4.1/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 11 Nov 2026 07:27:40 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/active-storage--8.0.5.2--8.1.0.beta1--8.1.4.1/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Ruby on Rails Active Storage: Arbitrary file read and remote code execution (CVE-2026-126186)</title><link>https://feed.craftedsignal.io/briefs/2026-11-active-storage-rce/</link><pubDate>Wed, 11 Nov 2026 07:27:40 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-11-active-storage-rce/</guid><description>Ruby on Rails Active Storage is vulnerable to arbitrary file read and potential remote code execution because it uses user-supplied file extensions to determine how external processing tools like FFmpeg and ImageMagick handle uploaded attachments.</description><content:encoded><![CDATA[<p>Active Storage is vulnerable to arbitrary file read and potential remote code execution due to the insecure handling of temporary files. When processing video or audio attachments, Active Storage creates temporary files that retain the extension provided by the user. External processing tools (FFmpeg, ImageMagick) use these extensions to determine the decoder or delegate if the content itself is ambiguous. An attacker can craft a file with a specific extension (e.g., .avs for AviSynth) to force processing engines to treat the file as a script or library, leading to local file disclosure or RCE within the context of the processing tool.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies an application using Active Storage that accepts file uploads and performs automatic attachment analysis or preview generation.</li>
<li>The attacker crafts a malicious file (e.g., an AviSynth script) and assigns it an extension corresponding to a target processing delegate (e.g., .avs).</li>
<li>The attacker uploads the file to the application.</li>
<li>Active Storage writes the file to a temporary location while preserving the attacker-provided extension.</li>
<li>The application triggers background processing (FFmpeg or ImageMagick) on the file.</li>
<li>The processing tool detects the file extension and interprets the content according to the associated decoder or library (e.g., executing the AviSynth script).</li>
<li>The process either discloses local sensitive files (if the script reads them) or executes arbitrary native code if a malicious library is loaded.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation may result in the unauthorized disclosure of sensitive files readable by the application process (e.g., database credentials, master keys) or remote code execution within the FFmpeg or ImageMagick processing context.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>activestorage</code> to version 8.0.5.2 or 8.1.4.1 immediately.</li>
<li>If an upgrade is not immediately possible, remove <code>ActiveStorage::Previewer::VideoPreviewer</code> and the <code>VideoAnalyzer</code>/<code>AudioAnalyzer</code> from the <code>config.active_storage</code> configuration to disable affected processing.</li>
<li>If the application environment included FFmpeg built with <code>--enable-avisynth</code>, consider all application secrets (including <code>secret_key_base</code>, database credentials, and service tokens) as potentially compromised; rotate these secrets immediately after patching.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>rails</category><category>rce</category><category>file-read</category><category>active-storage</category></item></channel></rss>