Rails 8.1.4.1・8.0.5.2で脆弱性21件を修正、8.0系はサポート終了

Ruby on Railsの開発チームは2026年11月4日(現地時間)、セキュリティリリースのRails 8.1.4.1と8.0.5.2を公開しました。修正された脆弱性は21件で、そのうち1件はActive Storageの画像解析に関わる深刻度Critical(CVSS 9.8)のものです。あわせて、8.0系のセキュリティサポートは11月7日で終了しています。Railsでアプリを運用している人は、バージョンの確認と、8.0系からの移行計画の両方が必要になります。

Rails 8.1.4.1・8.0.5.2で修正された21件の内訳

公式ブログの告知によると、修正された脆弱性の深刻度の内訳は、Criticalが1件、Highが4件、Mediumが13件、Lowが3件です。影響するコンポーネントは幅広く、Active Storage、Action Pack、Action Dispatch、Action View、Active Support、Action Controller、Action Mailboxにまたがっています。

Highの4件は次のとおりです。

  • Active Storageの動画プレビュー・解析・画像処理での任意ファイル読み取りとリモートコード実行(GHSA-v924-7rp8-4mxh)
  • Action Packの Parameters#each_key でStrong Parametersを回避できる可能性(GHSA-wm3x-v3qw-4jh3)
  • Action Dispatchの RemoteIp でIPアドレスを偽装できる可能性(GHSA-2gff-2mmg-m73p。8.1系のみ)
  • Active Supportの safe_constantize でのサービス拒否(GHSA-8474-xrp6-wh69)

Mediumには、Action Viewのテキストヘルパー・highlight・strip_tags・タグヘルパーでのXSS、Action Dispatchの CacheStore で破棄したセッションが復元されうる問題、Action Packのコンテンツネゴシエーションでのキャッシュポイズニング、Google Cloud Storageへのダイレクトアップロードでファイルサイズの上限を回避できる問題などが並びます。Lowには、Action Pack標準のセッションストアが発行するセッションCookieにSameSite属性が付いていなかった問題も含まれています。

CriticalはActive Storageの画像解析、ImageMagick利用時に注意

唯一のCriticalは、Active Storageの画像解析で任意のファイルの書き込みと読み取りが起こりうる問題(GHSA-f3w6-w445-fwh9)です。GitHubのセキュリティアドバイザリによると、CVSSは9.8で、認証なしで悪用できる評価になっています。Security NEXTはこの脆弱性のCVE番号をCVE-2026-122006と報じています。

アドバイザリに書かれている影響の条件は次のとおりです。

  • Active Storageの処理にImageMagickを使っている(variant_processor = :mini_magick。load_defaults 6.1 以前の既定値)
  • ImageMagickのセキュリティポリシーが、問題のあるコーダーを拒否していない(DebianやUbuntuの既定のポリシーは拒否していない)
  • 信頼できないユーザーからのファイルアップロードを受け付けている

注意したいのは、アップロードされたファイルを添付(attach)しただけで解析が走るため、バリアントの生成やプレビュー、analyze を明示的に呼んでいなくても影響を受ける点です。ストレージにDiskサービスを使っている場合は、アプリのプロセスが読めるファイルを読み取られるおそれもあり、アドバイザリは secret_key_base や外部サービスの認証情報が漏れ、リモートコード実行や横展開につながる可能性を指摘しています。

すぐに更新できない場合の回避策として、修正版に含まれる policy.xml のルールをシステムのImageMagickのポリシー(例:/etc/ImageMagick-7/policy.xml)に写すこと、最低でもMSLコーダー、gs デリゲート、PostScript・PDF系のコーダーを拒否することが示されています。また、Diskサービスを使っている場合は、secret_key_base とアプリが読めるすべてのシークレットのローテーションが勧められています。

8.0系は11月7日でセキュリティサポート終了

告知には、8.0系のセキュリティサポートが2026年11月7日に終わることも明記されています。今回の8.0.5.2が、8.0系に向けた最後のセキュリティ修正になる見込みです。告知は、これより古いバージョンはサポート対象外であるとしています。今後も脆弱性の修正を受け続けるには、8.1系への移行が必要です。

8.0系のアプリをいま運用している場合、まずは8.0.5.2に上げて今回の修正を取り込み、そのうえで8.1系へのアップグレードの段取りを組むのが現実的な順番です。今回の修正のうち、RemoteIp のIP偽装とMessagePackシリアライザのXSSは8.1系だけの問題とされているので、8.1系に移ったアプリは、これらも修正済みの8.1.4.1以降であることを確かめてください。

更新前後に確かめたいこと

  • bundle exec rails -v や Gemfile.lock で、railsと各コンポーネント(activestorageなど)が8.1.4.1または8.0.5.2になっているか
  • Active Storageの variant_processor が :mini_magick か :vips か(config.load_defaults の値もあわせて確認)
  • サーバーやDockerイメージのImageMagickのポリシーファイルが、ディストリビューションの既定のままになっていないか
  • Diskサービスを使っていて、ユーザーのアップロードを受け付けていた場合、シークレットのローテーションを検討
  • 告知に載っているSHA-256のハッシュで、取得したgemを検証できること

今回のCriticalは、Rails側の修正だけでなく、OSに入っているImageMagickの設定が絡む点が厄介です。アプリのgemを上げても、別のサービスで同じサーバーのImageMagickを使っていれば、ポリシーの見直しはそちらにも効いてきます。load_defaults を古いまま据え置いて運用しているアプリほど、気づかないうちに :mini_magick が使われている可能性が高いので、「画像処理はvipsにしたはず」と思い込まず、設定ファイルで実際の値を確認しておくことをおすすめします。8.0系のサポート終了も重なったので、更新作業は「今回のパッチ」と「8.1系への移行」を分けて、別々のタスクとして管理すると漏れにくいと考えます。

参考にした公式情報

2026年11月9日時点の情報です。

PR当サイトはアフィリエイト広告を利用しています。掲載内容は広告主から依頼・指示を受けたものではなく、筆者の調査・体験にもとづきます。
タイトルとURLをコピーしました