Ruby on Rails セキュリティ修正7.0.7.2、6.1.7.6がリリースされました。
英語版Changelogをまとめて見るにはGItHubのリリースタグ↓が便利です。
- Release 7.0.7.2 release · rails/rails -- 2023/08/23 05:23(日本時間)
- Release v6.1.7.6 · rails/rails -- 2023/08/23 05:23(日本時間)
詳しくは以下のコミットリストをご覧ください。
- コミットリスト: Comparing v7.0.7...v7.0.7.2 · rails/rails
- コミットリスト: Comparing v6.1.7.4...v6.1.7.6 · rails/rails
🔗 セキュリティ修正の概要
なお、セキュリティ関連のトピックは以下のRuby on Rails Discussionsのsecurity
トピックで一覧できます。
参考: Latest security topics - Ruby on Rails Discussions
🔗 [CVE-2023-38037] Possible File Disclosure of Locally Encrypted Files - Security Announcements - Ruby on Rails Discussions
詳しくは上のトピックを参照してください。
- 影響を受けるRailsバージョン
- Rails 5.2.0以降
- 影響を受けないRailsバージョン
- Rails 5.2.0未満
- 修正済みバージョン
- 7.0.7.1、6.1.7.5
🔗 影響(参考訳)
ActiveSupport::EncryptedFile
は、暗号化コンテンツを一時ファイルに書き込みます。一時ファイルのパーミッションは、デフォルトでユーザーの現在のumask
設定に設定されているため、同じシステム上の他のユーザーがこの一時ファイルの内容を読めてしまう可能性があります。
攻撃者は、ユーザーが編集中の間にこの一時ファイルの内容を読み取り可能になるかもしれません。
影響を受けるリリースを実行しているすべてのユーザーは、即座にアップグレードするか、以下の回避方法を実行する必要があります。
🔗 回避方法
一時ファイルに、以下のようにumask
でパーミッションの制限を強めることで回避できます。
$ umask 0077
参考: Umask - ArchWiki
TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:Railsリリース情報タグ)
注
直前にリリースされた以下の7.0.7.1、6.1.7.5は、パーミッションに不備があります。この点がセキュリティ修正7.0.7.2、6.1.7.6で訂正されており、それ以外は同一です。
参考: Ruby on Rails — Rails Versions 7.0.7.1, 6.1.7.5 have been released! -- こちらは適用する必要はありません