Ruby: 8/27発表のRubyGems脆弱性と修正方法のまとめ

こんにちは、hachi8833です。先週はRailsウォッチをお休みしてしまったことをお詫びいたします。 表題のニュースは先週のものですが、それなりに重要性が高いため改めて記事にいたしました。gemspecファイルからの入力もユーザー入力である以上サニタイズが必要なんですね。 RubyGemsで複数の脆弱性が発見・修正された(抜粋・まとめ) 参照 公式発表(2017/08/27): Multiple vulnerabilities in RubyGems 公式ブログ(2017/08/29): 2.6.13 Released 英語まとめ記事: Rubygems vulnerability writeup Heroku: changelog 要点 公式ブログでRubyGemsの2.6.13がリリースされました。2.6.13では、従来のRubyGems gemで見つかった複数の脆弱性が修正されています。 影響を受けるRubyバージョン Ruby 2.2系のうち、2.2.7以前のバージョン Ruby 2.3系のうち、2.3.4以前のバージョン Ruby 2.4系のうち、2.4.1以前のバージョン trunkのリビジョンが59672より前のバージョン 公式ブログ公開時点(2017/08/29)では、修正済みRubyGemsを含むRubyはリリースされていません。 その代わり、RubyGemsのバージョンを単独で2.6.13以降にアップデートすることで問題を回避できます。 修正方法 コマンドプロンプトで以下を実行することで、RubyGems gemをアップデートできます。 gem update –system 事情があってRubyGemsをアップデートできない場合、Rubyのバージョンに応じて以下のパッチを適用できます。 2.2.7用パッチ 2.3.4用パッチ 2.4.1用パッチ: 以下の2つのパッチを上から順に適用する必要があります。 RubyGems 2.6.11→2.6.12 RubyGems 2.6.12→2.6.13 補足: rbenvやRVMなどのバージョン管理ソフトウェアで複数のRubyを使っている場合、念のため、修正可能なすべてのバージョンで上のコマンドを実行しておくのがよいでしょう。当然ながら、VM、またはDockerやsystemd nspawnなどのコンテナでRubyを使っている場合はそちらもチェックし、必要であればアップデートします。 [Rails 5] rbenvでRubyをインストールして新規Rails開発環境を準備する RubyGems 2.6.13の主な修正内容 DNSリクエストがハイジャックされる脆弱性の修正(CVE-2017-0902) … Continue reading Ruby: 8/27発表のRubyGems脆弱性と修正方法のまとめ