Mac OS Xにも影響、Bashにヤバすぎる脆弱性「ShellShock」が発見される

Terminal

Linux/BSD/Macなど、UNIX系のOSで必ず使われているといっても過言ではない基本的なソフト「GNU Bash」に重大な脆弱性、通称「ShellShock」が発見されました(CVE-2014-6271slashdot日本版ITmedia)。

この脆弱性は、bashの環境変数に定の細工を施した文字列を渡すことで、任意のコマンドが実行できてしまうというかなり深刻なもの。CGIスクリプトやOpenSSH経由で攻撃される危険性があるので厳重な注意が必要です。

原因に関して以下のブログが詳しいです。

脆弱性の確認方法や対策をまとめてみました。

確認方法

StackExchangeにかかれてある方法で確認できます。

$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test

「vulnerable」と表示されたら、脆弱性があります。

$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

「bash: warning: 」と表示されたら、脆弱性はありません。

対策: Linuxの場合修正版bashをインストール

RedHat(CentOS)、DebianなどのメジャーなLinuxディストリビューションでは不具合対策版のbashをインストールするのが簡単です。例えばRedHat系の場合以下のコマンドで修正版bashをインストールできます。

$ yum update bash

インストール後再起動し、先ほどのコマンドで確認します。「bash: warning: 」と表示されればOKです。

1 My VPS

対策: Macの場合意見が別れる

Macの場合、HomebrewやMacPortsのbashは修正版がリリースされているので、それぞれの方法で最新版に更新できます。

問題はAppleが提供しているbash(/bin/bash)で、まだ修正版がリリースされていません。パッチを当てたbashを自分でインストールして置き換えるか(AppleちゃんねるQiita)、脆弱性に注意しつつ公式修正版がリリースされれるまで待つという方法が考えられます。Macをサーバー用途で使っているならば対策を行った方が良いかもしれません。

Apple公式修正版のbashの早期リリースに期待ですね。

スポンサーリンク