ランサムウェアの標的となる深刻なRuby on Railsの脆弱性

攻撃者がリモートコード実行(RCE)につながるRuby on Railsの深刻な脆弱性を悪用していると、VulnCheckが警告しています。

CVE-2026-66066(CVSSスコア9.5)として追跡され、KindaRails2Shellと呼ばれるこの欠陥は、任意のファイル読み取りが秘密情報の露出、RCE、そして横方向移動につながるものと説明されています。

このセキュリティ上の欠陥は7月下旬に公表され、その際Ruby on Railsはパッチを配布し、Active Storageの画像処理にlibvipsを利用し、信頼できないユーザーからの画像アップロードを許可しているすべてのRailsアプリケーションに対して、即時のパッチ適用を呼びかけていました。

その後まもなく、セキュリティ研究者らがこの不具合をリバースエンジニアリングし、技術情報と概念実証(PoC)コードを公開してこの脆弱性を標的にしたほか、Railsは悪用の試みを検出するためのフォレンジックツールを公開しました

Railsは、KindaRails2Shellの根本原因が、任意のファイルを読み取る際に異なるライブラリや関数がそれぞれ異なる手法を用いている点にあると説明しています

Railsはクライアントから送信されたコンテンツタイプを頼りにblobを画像として解釈することがある一方、libvipsはマジックバイトを見てファイルタイプを判定します。

この違いにより、攻撃者はファイルを細工してMATLAB Level 5であると偽装宣言することが可能になり、libvipsにMATLABローダーを選択させることができます。そのファイルはlibmatioに渡され、libmatioはヘッダーフィールド内でMAT 7.3を識別し、HDF5に処理を引き渡します。

Railsは次のように述べています。「HDF5のExternal File Listを使うと、データセットのバイト列をパスとオフセットで指定した別のファイルに存在させることができます。そのため『画像』をレンダリングする過程で、攻撃者が指定したサーバー上のファイルが読み取られ、その内容がピクセルとして返されてしまいます。互いのフィールドを認識できない2つの層で、同じ種類の混同が二重に発生しているのです」

認証されていない攻撃者は、認証情報データベースやストレージキーを含め、Railsプロセスが読み取り可能なあらゆるものを標的にできます。窃取した秘密情報を手に入れた攻撃者は、その後セッションを偽造したり、他のシステムにアクセスしたり、リモートで任意のコードを実行したりすることが可能になります。

VulnCheckによると、脅威アクターはパッチ公開からおよそ1カ月後にあたる先週、CVE-2026-66066の悪用を開始しました

さらにVulnCheckは、パッチ適用済みの8.1.3.1サーバーでテストを行った結果を明らかにし、「この修正はlibvipsによるファイル読み取りを防ぐものの、variation-keyのMarshalデシリアライゼーションは無効化していない。有効な署名さえあれば、パッチ適用済みのサーバー上でもRCEのガジェットは依然として実行される」と述べています

8月上旬の時点で、VulnCheckはKindaRails2Shellの脆弱性を抱えて外部に露出しているRuby on Railsインスタンスを約7,000件確認しています。

翻訳元: https://www.securityweek.com/critical-ruby-on-rails-vulnerability-in-attackers-crosshairs/

本記事は securityweek.com の記事を翻訳・要約したものです。