掲載記事 165本きょう +22026年11月9日(月)運営:株式会社Rabbitly

  1. 新着npm部品bee-jsに不正な版、入れると遠隔操作のおそれ
  2. 新着PyPIに悪性パッケージ39件、入れるだけで動く手口も
  3. 新着NASをインターネットに出さない 確かめる3つの設定
  4. 新着パスキーの始め方 まず管理者のアカウントから
  5. 新着今週のセキュリティまとめ 11月1日〜7日
  6. 新着政府がサイバー緊急対策パッケージ決定 お助け隊に復旧支援を追加
  7. 新着退職者のアカウント、片づけ漏れを防ぐ5つの手順
  8. 新着OpenSSHの欠陥に攻撃、囮サーバーでroot取得と報道
  1. トップ
  2. 脆弱性情報
  3. Railsに21件の修正、画像の添付でファイル書き込みのおそれ
脆弱性情報

Railsに21件の修正、画像の添付でファイル書き込みのおそれ

サイバーセキュリティ情報センター 編集部

画像はイメージです。記事に出てくる組織や現場とは関係ありません。

Ruby on Rails が 8.1.4.1 と 8.0.5.2 を公開し、21件の問題を直しました。最も深刻な Active Storage の欠陥は CVSS 9.8 で、画像を添付させるだけでサーバーにファイルを書き込まれるおそれがあります。

脆弱性の概要

緊急CVSS9.8
対象
Rails
悪用
確認されていない
影響
アップロードしたファイルでサーバーにファイルを書き込まれる
修正版
修正版あり
公表元
Ruby on Rails / GitHub
影響を受ける製品
製品対象のバージョン修正版
Rails 8.1系8.1.4.1 より前8.1.4.1
Rails 8.0系8.0.5.2 より前8.0.5.2
Rails 7.2系以前すべて修正版の公開なし(サポート対象外)

やること

Ruby on Rails(以下 Rails)は Ruby で Web システムを作るためのフレームワークです。Rails で動くシステムを持っている場合は、次の順で進めてください。

  • Rails を 8.1.4.1 か 8.0.5.2 に更新してください。Rails の発表によると、8.0 系のセキュリティの修正は11月7日までとされています。8.0 系を使っている場合は、8.1 系への移行も計画してください
  • 7.2 系以前は発表でサポートの対象外とされ、少なくとも 8.0 系以上に上げるよう勧められています
  • 添付ファイルを Disk サービス(サーバーのディスク)に保存していた場合は、更新のあとに secret_key_base をはじめ、アプリが読める秘密の値をすべて作り直してください

すぐに更新できない場合の回避策として、activestorage/lib/active_storage/image_magick/policy.xml の規則を、サーバー全体の ImageMagick の設定(例 /etc/ImageMagick-7/policy.xml)に写してください。最低でも MSL のコーダー、Ghostscript のコーダー、gs の委譲を拒否する設定にします。

何が危ないのか

Rails の開発チームは11月4日に 8.0.5.2 と 8.1.4.1 を公開し、21件のセキュリティの問題を修正しました。

いちばん深刻なのは Active Storage の画像の解析の欠陥(GHSA-f3w6-w445-fwh9)で、CVSS は 9.8、評価は Critical です。Active Storage は利用者がアップロードしたファイルを扱う Rails の部品です。画像の処理に使う ImageMagick はファイルの中身を見て読み込みの方式(コーダー)を選び、コーダーの中には画像の中に書かれた別のファイルを扱うものがあります。Active Storage はこれを制限しておらず、ファイルを添付した時点で解析が動くので、画像の加工やプレビューを呼ばなくても添付だけで狙えます。

ログインしていない攻撃者が、サーバーに任意のファイルを書き込めるおそれがあります。添付ファイルを Disk サービスに保存している場合は、アプリが読めるファイルも読まれるおそれがあります。アドバイザリは、secret_key_base や外部システムの認証情報が読まれると、遠隔からのコードの実行や、ほかのシステムへの侵入につながりうると説明しています。

次の3つの条件がそろうと影響を受けます。

  • config.active_storage.variant_processor = :mini_magick で ImageMagick を使っている(load_defaults が 6.1 以前のときの既定)
  • ImageMagick の設定が問題のコーダーを拒否していない(Debian と Ubuntu の既定の設定は拒否していません)
  • 信頼できない利用者からのアップロードを受け付けている

mini_magick は 5.1 以降を使うよう案内されています。それより古いと、Rails に同梱の設定を当てたときに起動で例外が出ます。また、ImageMagick で PostScript や PDF を扱っている場合は、サーバーの policy.xml で gs の委譲と必要なコーダーを許可し直す必要があります。

同じ更新で直るほかの欠陥

GHSA-v924-7rp8-4mxh(CVSS 8.8)は動画や音声の解析とプレビュー、ImageMagick での画像の処理の欠陥です。ファイルの拡張子で読み込みの方式が選ばれるため、ファイルを読み取られたり、条件によってはコードを実行されたりするおそれがあります。コードの実行の経路は AviSynth を有効にした FFmpeg を使う場合に限られます。一般的な Linux の配布物の FFmpeg では無効ですが、ffmpeg.org の GPL 版のビルドでは有効です。

GHSA-wm3x-v3qw-4jh3(CVSS 7.5)は許可した項目だけを受け付ける Strong Parameters の仕組みを回避される欠陥です。each_key の戻り値をそのまま一括の保存に使うアプリだけが当てはまり、Rails 自体はこの使い方をしません。

ほかに、送信元の IP アドレスを偽られる欠陥(8.1 系のみ)、サービスを止められる欠陥、画面にスクリプトを埋め込まれる欠陥(XSS)などが含まれています。CVE 番号はどれにも振られていません。

悪用の状況

発表と GitHub のアドバイザリには悪用されたという記載はありません。画像の解析の欠陥は HackerOne を通じて非公開で報告されたものです。

中小企業が確かめること

Rails は委託して作った会員サイトや業務システムに使われていることがあります。プロフィール画像や書類の添付など、外部の人がファイルを上げられる画面のあるシステムは、とくに確かめてください。委託先には Rails のバージョン、画像の処理に ImageMagick を使っているか、添付ファイルの保存先の3点を聞いてください。

自社で確かめること

  1. Rails のバージョンを確かめるGemfile.lock で rails と activestorage のバージョンを見てください。委託して作ったシステムは委託先に聞いてください。
  2. 画像の処理の方式を見る設定の config.active_storage.variant_processor が mini_magick かどうか、load_defaults が 6.1 以前かどうかを確かめてください。
  3. 秘密の値の作り直しを考える添付ファイルをサーバーのディスクに保存しているなら、secret_key_base などアプリが読める秘密の値を作り直してください。
自社で確かめるのが難しい場合はCyberScope のセキュリティ診断(3万円から)

出典

コメント 0

まだコメントはありません。

関連記事