脆弱性情報

Ruby on Rails Active Storageにリモートコード実行の脆弱性(CVE-2026-66066)—PoC公開済み・即時対応必須

JPCERT/CCが注意喚起を更新。複数のPoCが出回り、フォレンジックツールも公開された。ファイルアップロード機能を持つRailsアプリは今すぐバージョン確認を。

喜村 圭佑編集責任者更新 7

SHARE

Ruby on Rails Active Storageにリモートコード実行の脆弱性(CVE-2026-66066)—PoC公開済み・即時対応必須

THREAT GAUGE算出基準

IMPACT影響範囲8.5
URGENCY対応緊急度9.5
EXPLOIT悪用の容易さ9.0

PoC複数公開済み。フォレンジックツール公開は侵害前提対応を示唆。

01 · Overview

ニュースの概要

2026年7月29日(現地時間)、Ruby on Railsの画像処理コンポーネント「Active Storage」にリモートコード実行(RCE)につながる重大な脆弱性(CVE-2026-66066、通称「KindaRails2Shell」)が公表されました。JPCERT/CCは2026年8月3日に注意喚起を更新し、複数の概念実証(PoC)コードがすでに公開されていると警告しています。

本脆弱性は、Active Storageが画像処理にlibvipsを使用している環境で、細工したファイルをアップロードすることによりサーバー上の任意ファイルの読み取りとリモートコード実行に至る可能性があります。攻撃者は認証情報を含むすべての読み取り可能なファイルを奪取できるため、侵害のインパクトは極めて大きいと評価されています。

影響を受けるバージョンは activestorage 7.2.3.2未満、8.0.5.1未満、8.1.3.1未満です。脆弱性が成立する条件として「libvipsを使用していること」「未信頼ユーザーからの画像アップロードを受け付けていること」「特定のサードパーティライブラリを使用していること」の3点をすべて満たす環境が対象となります。なお、Active Storageのdirect upload機能はデフォルト有効であり、管理画面やAPIなどのアップロード機能を明示的に持たないアプリケーションでも攻撃対象になりえます。

Rails開発者コミュニティには2026年7月31日にフォレンジック調査用ツールとガイドが公開されました。JPCERT/CCはPoC公開を踏まえ、影響を受ける可能性がある環境では侵害を受けたことを前提とした対応、すなわちすべての読み取り可能な認証情報を漏えい済みとして扱い、変更することを推奨しています。

CVE番号
CVE-2026-66066
通称
KindaRails2Shell
脆弱性種別
任意ファイル読取・RCE
PoC公開
複数公開済み
JPCERT注意喚起
JPCERT-AT-2026-0021
修正対象バージョン
7.2.3.2 / 8.0.5.1 / 8.1.3.1以上

JPCERT/CC公式注意喚起(更新2026-08-03)および開発者アドバイザリを一次情報源として使用。調査継続中。

02 · Analysis

詳細な原因解説

脆弱性の直接的な原因は、Active Storageがlibvipsを使って画像のバリアント処理(variant processing)を行う際に、アップロードされたファイルの種別や内容を十分に検証していない点にあります。攻撃者は画像に見せかけた悪意あるファイルを送り込み、libvipsが対応する特定のファイルローダーを経由してサーバー内の任意ファイルを読み取らせたり、コードを実行させたりすることができます。

RailsのActive Storageは「direct upload」機能をデフォルトで有効にしています。これはブラウザから直接クラウドストレージへファイルを送れる便利な仕組みですが、この機能自体には標準で認証・認可が実装されていません。そのため「ユーザー向けのアップロード画面を持たない」バックエンドAPIやSaaSアプリケーションであっても、エンドポイントが外部からアクセス可能であれば攻撃対象になりえます。

libvipsはImageMagickよりも高速・省メモリな画像処理ライブラリとしてRails 7以降で推奨されてきましたが、「unfuzzed(ファジングされていない)」と分類されるファイルローダーの存在が今回のリスクの根本にあります。これらのローダーは悪意ある入力への耐性を十分に検証されておらず、一部のサードパーティライブラリと組み合わさることで攻撃面が広がります。

WAFによる緩和策は効果が極めて限定的とされており、開発者はパッチ適用を代替手段として使わないよう明示的に警告しています。既にPoCが複数公開されている以上、未パッチの環境は積極的に狙われていると想定すべきです。

03 · Action

今からできる主な対策

明日からすぐ

1週間以内

05 · Forecast

今後起こりうる展開と対策

SCAMPER分析:RCE脆弱性の悪用発展予測

Q. 攻撃者はKindaRails2Shellをどのように「組み合わせ・応用」して次の段階の攻撃を展開するか?

【Substitute(代替)】認証情報奪取後にOAuthトークンへのすり替えが起きやすい。AWSやGCPのサービスアカウントキーが.envに含まれている場合、クラウドインフラへの横展開が直接可能になる。 【Combine(組み合わせ)】ファイル読み取りで得た内部APIエンドポイント情報をCI/CDシステム(Jenkins/GitLab CI)侵害と組み合わせることで、サプライチェーン攻撃への発展が懸念される。 【Adapt(適用)】類似の画像処理ライブラリ(ImageMagick等)にも攻撃パターンが転用される恐れがある。libvipsが「安全」とされていたことへの過信が再評価を迫られる。 【Eliminate(除去)】Managed File Upload(外部ストレージのみに保存)構成では直接RCEは困難となる。アーキテクチャレベルでの攻撃面削減が中長期対策として有効。

システム思考:依存ライブラリリスクの連鎖

Q. Ruby on Railsエコシステムにおいて、今回の脆弱性が示す構造的リスクとは何か?

今回の脆弱性はlibvips→Active Storage→Railsアプリという依存チェーン全体に影響しています。エコシステム視点で見ると、Rails本体ではなくサードパーティライブラリの「unfuzzed loader」という周辺コンポーネントが脆弱性の根本原因であり、Railsプロジェクトがセキュアなデフォルト設定を推奨しても、依存ライブラリの品質まで担保できないという構造的限界を示しています。 日本国内においてはRuby/Railsは中小SaaSベンダーや受託開発現場で広く使用されており、パッチ適用スピードにばらつきが大きいため被害拡大リスクは高いと評価されます。特に「ユーザー向けアップロード機能を持たない」と認識しているバックエンドサービスが見落とされやすいという盲点があります。 フィードバックループとして、PoC公開→自動化攻撃ツールへの組み込み→スキャナによる無差別探索という流れが1〜2週間以内に起きるのが典型的なパターンです。組織は「パッチ適用が完了するまで攻撃は来ない」という線形思考から脱却し、攻撃を前提とした対応(Assume Breach)が必要です。

今すぐ実装できる防衛策

最優先事項はactivestorageの修正バージョンへの更新(7.2.3.2以上 / 8.0.5.1以上 / 8.1.3.1以上)です。アップデート前にlibvips 8.13以上・ruby-vips 2.2.1以上への更新が必要な点に注意してください。

修正版へのアップデートが短期間で困難な場合は、開発者が提供する回避策(libvips 8.13以上またはruby-vips 2.2.1以上の環境限定)を適用しつつ、アップロードエンドポイントへのIPアクセス制限や認証追加を検討してください。WAFによる緩和は限定的である点を留意してください。

並行してフォレンジックツール(rails-forensics-CVE-2026-66066)で過去のアクセスログを精査し、侵害の痕跡確認を行うことが強く推奨されます。未パッチ期間中に攻撃を受けていた場合、認証情報のローテーションだけでなくシステム全体の完全性確認が必要です。

06 · AI Prompt

AI対策プロンプト

あなたはサイバーセキュリティの専門家です。 【背景情報】 Ruby on RailsのActive Storageにリモートコード実行につながる脆弱性(CVE-2026-66066、通称KindaRails2Shell)が発見され、複数の概念実証コードが公開されています。この脆弱性はlibvipsを使った画像処理時にファイルの検証が不十分なことによるもので、攻撃者がサーバー上の任意ファイルを読み取り、リモートコード実行に至ることができます。 【あなたの組織情報】 - 組織名・業種:[組織名・業種] - Railsアプリの有無・バージョン:[RailsアプリのバージョンまたはNone] - Active Storage利用有無:[利用している / 利用していない / 不明] - libvips使用有無:[使用している / 使用していない / 不明] - 公開中のファイルアップロード機能の有無:[あり / なし] - セキュリティ担当者数:[人数または体制] 上記情報をもとに、以下を出力してください: 1. 自組織が影響を受けるかどうかの判断基準と確認手順 2. 今日中に実施すべき緊急対応タスク(担当者・完了期限つき) 3. 侵害を受けていた場合のインシデント対応手順の概要 4. 経営層への報告用サマリー(A4半枚程度)

プロンプトのカスタマイズ

以下を入力すると、上のプロンプトに反映されます。

組織名と業種(例:株式会社〇〇、Webサービス業)を入力してください。

利用中のRailsバージョン(例:8.0.4)を入力してください。不明な場合は「不明」と入力してください。

Active Storageを利用しているか選択してください。

画像処理にlibvipsを使用しているか選択してください(config/application.rbやGemfileで確認可能)。

外部ユーザーが利用可能なファイルアップロード機能の有無を選択してください。

セキュリティ担当者数または体制(例:専任1名、兼任3名など)を入力してください。

キーワード

  • CVE-2026-66066
  • Ruby on Rails
  • RCE
  • Active Storage
  • KindaRails2Shell

SOURCES · 参考情報源