hotoolong's blog

プログラムのことやエンジニアリングに関することを記事にしています。

Railsのescape_javascriptの脆弱性対応を適応する

概要

Railsのバージョンが6.0.2.2に上がっています。

weblog.rubyonrails.org

CVE-2020-5267 の脆弱性が含まれていました。 詳細はこちらを確認することでできます.

github.com

適応

Rails6.0.2.1を使っていたため

Gemfileを変更して 6.0.2.1を6.0.2.2に変更します。

rails ~> 6.0.2, >= 6.0.2.2

変更したらupgradeします。

bundle upgrade rails
Fetching zeitwerk 2.3.0 (was 2.2.2)
Fetching nokogiri 1.10.9 (was 1.10.8)
Installing zeitwerk 2.3.0 (was 2.2.2)
Fetching activesupport 6.0.2.2 (was 6.0.2.1)
Installing activesupport 6.0.2.2 (was 6.0.2.1)
Installing nokogiri 1.10.9 (was 1.10.8) with native extensions
Fetching actionview 6.0.2.2 (was 6.0.2.1)
Installing actionview 6.0.2.2 (was 6.0.2.1)
Fetching actionpack 6.0.2.2 (was 6.0.2.1)
Installing actionpack 6.0.2.2 (was 6.0.2.1)
Fetching actioncable 6.0.2.2 (was 6.0.2.1)
Fetching railties 6.0.2.2 (was 6.0.2.1)
Fetching activestorage 6.0.2.2 (was 6.0.2.1)
Fetching actionmailer 6.0.2.2 (was 6.0.2.1)
Installing actioncable 6.0.2.2 (was 6.0.2.1)
Installing actionmailer 6.0.2.2 (was 6.0.2.1)
Installing activestorage 6.0.2.2 (was 6.0.2.1)
Installing railties 6.0.2.2 (was 6.0.2.1)
Fetching actiontext 6.0.2.2 (was 6.0.2.1)
Fetching actionmailbox 6.0.2.2 (was 6.0.2.1)
Installing actiontext 6.0.2.2 (was 6.0.2.1)
Installing actionmailbox 6.0.2.2 (was 6.0.2.1)
Fetching rails 6.0.2.2 (was 6.0.2.1)
Installing rails 6.0.2.2 (was 6.0.2.1)
Installing rails 6.0.2.2 (was 6.0.2.1)

影響のあるgemがバージョンアップされていることを確認できます。

確認

rails consoleから適応されていることを確認します。

変更前

pry > helper.j '$`aaa`'
=> "$`aaa`"

変更後

pry > helper.j '$`aaa`'
=> "\\$\\`aaa\\`"

正しく変更されています。

テストコードがある方はテストを実行して All Green であることを確認するとよいですね。

参考URL

Rails 6/5とRubyのJSON gem向けセキュリティ修正がリリース|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社

CVE-2020-10663: JSON における安全でないオブジェクトの生成の脆弱性について(追加の修正)

Comparing v6.0.2.1...v6.0.2.2 · rails/rails · GitHub