WebエンジニアのLoL日記

LoLをプレイしたりLJLの試合を見たりするのが好きなエンジニア。LoLのイベントやパッチノートなど気になった点を記事にしたり、LJLについの記事をかいたりしています。某社でWeb系のエンジニアとして働いているので、技術系の記事もたまに書きます。コンタクトを取りたい場合はtwitterまで。

「Gemfile.lockに脆弱性のあるライブラリがあるで」とGitHubに指摘された

もくじ

「Gemfile.lockに脆弱性のあるライブラリがあるで」とGitHubに指摘された

こういう感じで指摘されました。

f:id:yoshiki_utakata:20180424184718p:plain

「Review vulnerable dependency」をクリックすると、Dependency graphというページに飛ばされました。

f:id:yoshiki_utakata:20180424185035p:plain

loofah というライブラリのバージョン 2.2.0 に脆弱性があるということで 2.2.1 に上げろとのことでした。

loofahはGemfileでは直接書かれていないので、何かのライブラリがloofahに依存しているのだろうということでGemfile.lockを除いてみます。

loogahの脆弱性

Release v2.2.1 · flavorjones/loofah · GitHub

脆弱性が公開されたのは2018年3月19日、修正された2.2.1がリリースされたのが3月21日のようです。XSSに関する脆弱性とのことです。

Gemfile.lockを覗く

除いてみると、loofarは確かに2.2.0がインストールされていました。rails-html-sanitizerがloofahのバージョン2系の最新版を要求しており、私がたまたまbundle installしたタイミングでのloofarの最新版が2.2.0だったようです。

雑にバージョンアップする

bundle updateすると依存が新しく解決されてGemfile.lockが更新されます。不要なgemはアップデートしたくない場合は、gem指定でアップデートしてください。

qiita.com

@@ -76,7 +76,7 @@ GEM
       rb-fsevent (~> 0.9, >= 0.9.4)
       rb-inotify (~> 0.9, >= 0.9.7)
       ruby_dep (~> 1.2)
-    loofah (2.2.0)
+    loofah (2.2.2)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     mail (2.7.0)

loofahが更新されました。

commit & push

pushした所脆弱性の表示は消えました。めでたしめでたし。

便利な機能だとおもったので、是非Gemfile.lockをコミットしましょう。