Rails の脆弱性 CVE-2026-66066:Active Storage RCE を実証する PoC

Public PoC Released for Critical Rails Active Storage RCE Vulnerability

2026/08/03 CyberSecurityNews — Ruby on Rails の深刻な脆弱性に対してリリースされた PoC により、クラウドデータ侵害に関する新たな懸念が高まっている。特に、Amazon Web Services (AWS) 上で顧客向けプラットフォームをホストしている企業にとって深刻な状況が生じている。この脆弱性 CVE-2026-66066 は KindaRails2Shell とも呼ばれており、libvips 画像処理ライブラリを介して信頼できないユーザーからのアップロードを受け付ける Active Storage デプロイメントに影響を及ぼす。

350,000 人のユーザーに影響が生じ得るが、侵害について具体的に確認されていない。ただし、攻撃者が脆弱なアプリケーションを侵害した場合には、この脆弱性によりクラウド認証情報と顧客データが露出する可能性がある。

このセキュリティ問題は、Rails Active Storage の画像バリアント処理に起因する。この処理では、信頼されていないコンテンツを安全に処理できないと思われる、一部の libvips 操作がブロックされていなかった。

この見落としを突く未認証の攻撃者は、特別に細工されたアップロードを送信し、Rails アプリケーション・プロセスからアクセスできるファイルを読み取る可能性がある。

Rails Active Storage RCE 脆弱性の PoC

リスクにさらされる機密性の高いファイルに含まれるものとしては、環境変数/コンフィグ・ファイル/データベース・パスワード/API トークン/AWS アクセス認証情報などがある。したがって、AWS を使用している組織にとって深刻な影響が生じることになる。

盗まれたクラウド認証情報の悪用に成功した攻撃者は、侵害された ID に割り当てられた権限に応じて、S3 バケット/データベース/バックアップ/アプリケーションログ/接続サービスへのアクセスが付与される可能性がある。

AWS 環境内にユーザーレコード/ID 情報/連絡先情報/内部ファイルを保存しているユーザー組織においては、このインシデントにより、数十万人のユーザーに影響する機密データの露出が発生し得る。

さらに研究者たちが警告するのは、この問題が単純なファイル開示を超えて拡大する可能性である。Rails アプリケーションでは、環境変数に secret_key_base が保存されているケースが多いため、このシークレットへの不正アクセスが生じると、Rails 署名済みデータが偽造され、サーバ上でのリモートコード実行に至る可能性がある。

このアクセスは、Rails プロセスに割り当てられた権限を用いて実行されるため、さらなるデータ窃取/アプリケーション挙動の変更/環境に関連付けられたクラウド・サービスの悪用につながる可能性がある。

この問題が生じるのは、libvips ベースの Active Storage 処理と信頼されていない画像アップロードの受け付けのコンフィグが存在するケースである。Rails の Active Storage バージョン 7.2.3.2/8.0.5.1/8.1.3.1 未満が、この脆弱性の影響を受ける。

Rails 6 アプリケーションも、Active Storage で Vips プロセッサを使用するよう管理者が手動で設定している場合は、リスクにさらされる可能性がある。GitHub 上で提案されている Metasploit モジュールは、攻撃者がファイルアクセスと偽造された画像データを連鎖させ、コマンド実行を達成する方法を示している。Rails バージョン 6.0.6.1/6.1.7.10/8.0.5 の制御された環境において、このモジュールはテストされたと報告されている。

このような公開エクスプロイトの開発が浮き彫りにするのは、露出している Rails サービスの特定と、迅速なアップデート適用の必要性である。

セキュリティ・チームに求められるのは、脆弱な Rails デプロイメントへ直ちにパッチを適用した上で、Active Storage アップロード・エンドポイントを確認することである。露出が疑われる場合には、Rails シークレットと AWS 認証情報をローテーションし、異常なアクセスの有無を AWS CloudTrail/S3/アプリケーションログで監査する必要がある。ユーザー企業に対して強く推奨されるのは、最小権限の IAM ロールの強制と、長期有効なクラウド・シークレットをプロセス環境変数に保存しないことである。