Bashの脆弱性チェックツール
TweetShellshockの最初のパッチは不十分
Bashに致命的な脆弱性が発見されたことは、大きなニュースになったので、みなさんよくご存知だと思います。
これに対して、各リナックスディトリビュータもすぐに対策をリリースしましたが、最初のパッチは不十分なものだったようです。ですから、サーバ更新のタイミングによっては、対策が不十分になっている可能性があります。
ubuntu 12.04 の場合
たとえば、ubuntu 12.04 の場合、先週の木曜日(9/25)の時点でbashがアップデートされています。この時すぐに、最新版にアップデートしたサーバは次のバージョンになっていると思います。
$ dpkg -l | grep bash
ii bash 4.2-2ubuntu2.2 ....
....
これは、最初に発見された CVE-2014-6271 という脆弱性には対応していますが、その後発見された、別の脆弱性が残ったバージョンです。
本日(9/29)にアップデート ( sudo apt-get update && sudo apt-get --only-upgrade install bash
)を行なうと、さらに新しいバージョン(4.2-2ubuntu2.5)に更新されます。
$ dpkg -l | grep bash
ii bash 4.2-2ubuntu2.5 ....
....
これが、現在発見されている脆弱性全てに対応した最新バージョンです。
他のディストリビューションについては確認していませんが、似たような状況だと思われます。先週サーバをアップデートした人は、現在のバージョンや対応状況について、もう一度確認した方がいいと思います。
bashcheck
これらの脆弱性をまとめてチェックしてくれるツールがあります。
使い方は、git clone
して、そのスクリプトを実行するだけです。
$ git clone https://github.com/hannob/bashcheck
$ bashcheck/bashcheck
このツールは、bashに対して、shellshockに関連する5つの脆弱性をチェックして、結果を以下のように報告してくれます。
脆弱性がある場合の表示例1 (bash 4.3-7ubuntu1)
Vulnerable to CVE-2014-6271 (original shellshock)
Vulnerable to CVE-2014-7169 (taviso bug)
bashcheck/bashcheck: line 18: 2974 Segmentation fault (core dumped) bash -c "true $(printf '<<EOF %.0s' {1..79})" 2> /dev/null
Vulnerable to CVE-2014-7186 (redir_stack bug)
Test for CVE-2014-7187 not reliable without address sanitizer
Variable function parser still active, likely vulnerable to yet unknown parser bugs like CVE-2014-6277 (lcamtuf bug)
脆弱性がある場合の表示例2 (bash 4.2-2ubuntu2.2)
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
Not vulnerable to CVE-2014-6271 (original shellshock)
Vulnerable to CVE-2014-7169 (taviso bug)
./bashcheck: line 18: 14667 Segmentation fault bash -c "true $(printf '<<EOF %.0s' {1..79})" 2> /dev/null
Vulnerable to CVE-2014-7186 (redir_stack bug)
Test for CVE-2014-7187 not reliable without address sanitizer
Variable function parser still active, likely vulnerable to yet unknown parser bugs like CVE-2014-6277 (lcamtuf bug)
脆弱性が無い場合の表示例 (bash 4.3-7ubuntu1.4)
Not vulnerable to CVE-2014-6271 (original shellshock)
Not vulnerable to CVE-2014-7169 (taviso bug)
Not vulnerable to CVE-2014-7186 (redir_stack bug)
Test for CVE-2014-7187 not reliable without address sanitizer
Variable function parser inactive, likely safe from unknown parser bugs
CVE-2014-7187は、このツールだけでは完全にチェックできないようですが、このような表示になれば、最新バージョンのbashにupdateされていると考えてよいと思います。