Ruby on Railsは今週、認証されていない攻撃者によるリモートコード実行(RCE)を許してしまう可能性のある、深刻な脆弱性に対するパッチを公開しました。
Rubyで書かれたサーバーサイドのWebアプリケーションフレームワークであるRuby on Railsは、フルスタックのWebアプリケーションやAPIを迅速に構築するために使用されています。
CVE-2026-66066(CVSSスコア9.5)として追跡されているこの深刻なセキュリティ上の欠陥は、任意のファイル読み取りを許してしまうもので、秘密情報が露見する可能性があり、遠隔の攻撃者によるコード実行や他システムへの横展開を招くおそれがあります。
Ruby on Railsのメンテナーはアドバイザリの中で、「デフォルト設定の場合、画像バリアントを表示するRailsアプリケーションは、認証されていない攻撃者がプロセス環境を含むサーバー上の任意のファイルを読み取ることを許してしまう可能性があります」と述べています。
アドバイザリによると、露見した環境の中には secret_key_base や外部システムの認証情報が含まれている可能性があり、これらを悪用されると攻撃がRCEにまでエスカレートするおそれがあるとのことです。
この問題は、Active Storageの画像処理にlibvipsライブラリを使用しており、なおかつ信頼できないユーザーからの画像アップロードを許可しているアプリケーションに影響します。
libvipsは一部のファイル読み書き操作を「unfuzzed」(信頼できないコンテンツに対しては安全でない)としてマークしていますが、Active Storageはこのunfuzzed操作を無効化していませんでした。そのため、攻撃者は細工したファイルをアップロードすることで、こうした操作の一つを呼び出すことが可能でした。
Ruby on Railsのアドバイザリには、「攻撃者が細工したファイルをアップロードすることで、標的となったアプリケーションのファイルシステム上でアクセス可能な任意のファイルの内容を漏えいさせることができる仕組みを、我々は把握しています」と記されています。
CVE-2026-66066はActive Storageのバージョン7.2.3.2、8.0.5.1、8.1.3.1で修正されました。利用者は可能な限り速やかに導入環境を更新するとともに、libvipsについても少なくともバージョン8.13以降へ更新するよう推奨されています。これより前のライブラリのリリースでは、unfuzzed操作を無効化する機能がサポートされていないためです。
Ruby on Railsは、「アップグレードすることで脆弱性自体は塞がれますが、それによってすでに漏えいしてしまった秘密情報が元に戻るわけではありません。影響を受けるアプリケーションは、アプリケーションプロセスから読み取り可能なすべての秘密情報が漏えいした可能性があるものとして扱い、変更する必要があります」と注意を呼びかけています。
サイバーセキュリティ企業Rapid7によると、7月30日時点で、このセキュリティ上の欠陥が実際に悪用されたという証拠は確認されていないとのことです。
翻訳元: https://www.securityweek.com/ruby-on-rails-patches-critical-vulnerability/