🌐 This article hasn't been translated yet — showing the Japanese version.
Rails Active Storageに致命的RCE「KindaRails2Shell」、画像1枚でサーバ乗っ取りの恐れ thumbnail
VULNERABILITY Importance High 2026-08-03

Rails Active Storageに致命的RCE「KindaRails2Shell」、画像1枚でサーバ乗っ取りの恐れ

⏱ approx. 2 min views 3 likes 0 LOG_DATE:2026-08-03
TOC

「画像を1枚アップロードするだけ」でサーバが落ちる #

Ruby on RailsのActive Storageに、未認証の攻撃者が任意ファイル読み取りからリモートコード実行(RCE)まで到達できる脆弱性 CVE-2026-66066 が公表された。CVSSv4スコアは9.5。研究者はこの攻撃チェーンを「KindaRails2Shell」と名付けている。JPCERT/CCはエクスプロイトコードの公開も確認しており、既に検証・悪用の段階に入っている。

攻撃の起点は地味だ。Active Storageの直接アップロード機能に、拡張子を偽装したファイルを送りつける。中身はMATLAB形式(MAT 7.3、実体はHDF5コンテナ)で、画像処理ライブラリlibvipsの「external file list」機能を悪用し、サーバ上の任意パスのバイト列を画像のピクセルとして読み出させる。libvipsの「unfuzzed」ローダを無効化していなかったのが根本原因だ。

KindaRails2Shell攻撃の流れを示す4ステップの図解
偽装ファイルのアップロードからRCEに至る4段階の攻撃チェーン

奪った secret_key_base があれば署名済みCookieの偽造やGlobalIDの改ざんが可能になり、Marshalの逆シリアル化にすら頼らない経路でRCEに到達する。攻撃者は認証すら不要な点が深刻度を押し上げている。

対象は activestorage 7.2.3.2未満、8.0系は8.0.5.1未満、8.1系は8.1.3.1未満(vipsプロセッサを有効にした6.x系も含む)。修正版への更新に加え、VIPS_BLOCK_UNTRUSTED 環境変数の設定やruby-vips 2.2.1以上での Vips.block_untrusted(true) 呼び出しも緩和策になる。ファイルアップロードは定番の攻撃面だが、「画像処理ライブラリの内部仕様」まで踏み込んで攻撃チェーンを組む手口は防御側の死角になりやすい。エクスプロイトが出回っている以上、パッチ適用と併せて漏えい前提でのシークレットローテーションを急ぐべきだ。

𝕏 Post B! Hatena

COMMENTS 0

No comments yet — be the first to leave one.

Post a comment