テック技報最新号へ →
セキュリティ

Rails Active Storage+ImageMagick の任意ファイル書き込み:まず更新、だめなら Certified Patch

Active Storage が mini_magick で未信頼アップロードを解析すると、危険な ImageMagick コーダー経由で任意ファイル書き込み(条件次第で読み取り→RCE)になる(GHSA-f3w6-w445-fwh9、CVSS 9.8)。Rails 8.1.4.1/8.0.5.2 へ上げ、すぐ上げられないなら Socket の無料 Certified Patch を当てる。

@SocketSecurity · 2026-11-07
#rails#active-storage#imagemagick#supply-chain#patch#ruby

いつ使うか

  • Rails で Active Storage を使い、config.active_storage.variant_processor = :mini_magick のとき
  • 未信頼ユーザーからのファイルアップロードを受けているとき
  • ImageMagick のセキュリティポリシーで危険コーダーをまだ塞いでいないとき

何が起きるか

  1. Active Storage は添付時に自動解析するため、別途プレビューや変換を呼ばなくても到達する。
  2. ImageMagick の一部コーダーはアップロード画像以外のファイルに触れる。制限なしだと任意書き込みになり、Disk サービス利用時は secret_key_base や credentials などプロセスが読めるファイルの露出→RCE もありうる。
  3. 2026-11-04 の Rails 更新は本件を含む 21 件を修正。8.0 系のセキュリティサポートは 2026-11-07 で終了予定なので 8.1 系への移行も計画する。

対応

  1. Gemfile を修正版へ。
    gem "rails", "8.1.4.1"   # 8.0 系なら 8.0.5.2
    bundle update rails
  2. :mini_magick 利用時は MiniMagick 5.1 以降必須(古いと起動時例外)。PDF/PostScript 処理がある場合は、同梱の厳しい ImageMagick ポリシーに合わせて設定を見直す。
  3. すぐ上げられない場合のつなぎ(Socket・非顧客も無料):
    socket patch add GHSA-f3w6-w445-fwh9

    パッチは当該 GHSA のみ。他の 20 件はカバーしない。

  4. Disk サービスを使っていたアプリは、漏えい前提で credentials・DB・接続先鍵をローテーションする(Rails 勧告どおり)。
  5. 長期はサポート中の Rails 系列へのアップグレード。Certified Patch は時間稼ぎ。

注意

  • 脆弱なのは「mini_magick+未制限の ImageMagick ポリシー+未信頼アップロード」の揃ったとき。該当設定かを先に棚卸しする。
  • 攻撃手順は書かない。防御は更新・ポリシー・アップロード面の最小化。

出典

X の元の投稿を開く