Node.jsの脆弱性チェックツールの「nsp」を試してみた
Node.jsのベストプラクティス
github.com
に脆弱性のチェックをやった方がいいよと書いてあったのでやってみました
XMLを単純に出力しているプログラムなので、
問題ないのかなと軽い気持ちでやってみました
ちなみに今回作ったプログラムはIP制限をしているので
アタックをうける事はほぼないですが
本来は脆弱性チェックをしないです
練習も兼ねてやってみた
チェック
チェックは簡単でプロジェクトのFolderに移動して実行するだけです
cd /var/node/xmlsampleapp
nsp check
チェック結果
(+) 3 vulnerabilities found ┌────────────┬────────────────────────────────────────────────────────────────────┐ │ │ Incorrect Handling of Non-Boolean Comparisons During Minification │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Name │ uglify-js │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ CVSS │ 8.3 (High) │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Installed │ 2.2.5 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Vulnerable │ <= 2.4.23 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Patched │ >= 2.4.24 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Path │ xmlsampleapp@1.0.0 > jade@1.11.0 > transformers@2.1.0 > │ │ │ uglify-js@2.2.5 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ More Info │ https://nodesecurity.io/advisories/39 │ └────────────┴────────────────────────────────────────────────────────────────────┘ ┌────────────┬────────────────────────────────────────────────────────────────────┐ │ │ Regular Expression Denial of Service │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Name │ mime │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ CVSS │ 7.5 (High) │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Installed │ 1.3.4 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Vulnerable │ < 1.4.1 || > 2.0.0 < 2.0.3 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Patched │ >= 1.4.1 < 2.0.0 || >= 2.0.3 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Path │ xmlsampleapp@1.0.0 > express@4.15.5 > send@0.15.6 > mime@1.3.4 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ More Info │ https://nodesecurity.io/advisories/535 │ └────────────┴────────────────────────────────────────────────────────────────────┘ ┌────────────┬────────────────────────────────────────────────────────────────────┐ │ │ Regular Expression Denial of Service │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Name │ uglify-js │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ CVSS │ 5.3 (Medium) │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Installed │ 2.2.5 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Vulnerable │ <2.6.0 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Patched │ >=2.6.0 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ Path │ xmlsampleapp@1.0.0 > jade@1.11.0 > transformers@2.1.0 > │ │ │ uglify-js@2.2.5 │ ├────────────┼────────────────────────────────────────────────────────────────────┤ │ More Info │ https://nodesecurity.io/advisories/48 │ └────────────┴────────────────────────────────────────────────────────────────────┘
え・・・まじで・・・
脆弱性が見つかりました
npm install uglify-js mime
バージョンアップをしてみた
もう1度チェックをしてみたのですが脆弱性が消えていなかった
実際のモジュールをみるとバージョンアップされている
どこを更新すればいいのかわからず時間切れになった
しっかりとしてサービスを動かす前にこの問題を解決しないと!!