Tech Racho エンジニアの「?」を「!」に。
  • Ruby / Rails関連

Railsセキュリティ修正がリリースされました(7.0.2.3、6.1.4.7、6.0.4.7、5.2.6.3)

Ruby on Rails セキュリティ修正7.0.2.3、6.1.4.7、6.0.4.7、5.2.6.3がリリースされました。

英語版Changelogをまとめて見るにはGItHubのリリースタグ↓が便利です。

詳しくは以下のコミットリスト差分をご覧ください。

なお、Rails 5.2.xのサポートは2022年6月1日に終了します。この機会に確認しましょう。

参考: Ruby on Rails のメンテナンスポリシー - Railsガイド

🔗 セキュリティ修正の概要

🔗 Active Storageでコード注入の脆弱性の可能性

詳しくは以下のDiscussionを参照して下さい。

参考: [CVE-2022-21831] Possible code injection vulnerability in Rails / Active Storage - Security Announcements - Ruby on Rails Discussions

該当するバージョンのRailsで、Active Storageモジュールにコード注入の脆弱性の可能性があります(CVE-2022-21831)。image_processingを用いるActive Storageのバックエンドでmini_magickを使っている場合に、この脆弱性の影響を受けます。

minimagick/minimagick - GitHub

脆弱なコードは以下のような感じになります(変換用メソッドやその引数が、信頼できない任意の入力になっている)。

<%= image_tag blob.variant(params[:t] => params[:v]) %>

この問題の影響を受けるリリースを実行しているユーザーは、ただちにアップグレードするか後述の回避方法を適用してください。

影響を受けるRailsバージョン
Rails 5.2.0以降
影響を受けないRailsバージョン
Rails 5.2.0未満
修正済みバージョン
7.0.2.3、6.1.4.7、 6.0.4.7、 5.2.6.3

回避方法

この問題を回避するには、受け取れる変換用メソッドや引数の厳密な許可リストをアプリケーションで実装する必要があります。ImageMagickの以下のセキュリティポリシーも問題の緩和に有用です。

パッチ

ただちにアップグレードできない事情があるユーザー向けに、以下のパッチが提供されています(git-am形式)。


TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:Railsリリース情報タグ)

関連記事

Railsセキュリティ修正がリリースされました(7.0.2.2、6.1.4.6、6.0.4.6、5.2.6.2)

Rails 7.0.2がリリースされました


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。