MacOS Xでのbashの脆弱性対策 ― 2014/09/26
Mac OS Xは10.3から/bin/shがbashなので削除も出来ません
確認
- CVE-2014-6271 確認方法(vulnerableが表示されたら脆弱)
$ env x='() { :;}; echo vulnerable' bash -c 'echo hello'
- CVE-2014-7169 確認方法(日付が表示されたら脆弱)
$ rm -i echo $ env X='() { (a)=>\' sh -c "echo date"; cat echo
対策案
- OS X Serverや公開しているMac OS Xは今すぐ置き換える
- その他のOS X 10.7以上はソフトウエア・アップデートを待つ
コンパイル方法(要xcode)
$ mkdir bash-fix $ cd bash-fix $ curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf - $ cd bash-92/bash-3.2 $ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0 $ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-053 | patch -p0 $ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-054 | patch -p0 (9/29 054追加) $ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-055 | patch -p0 $ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-056 | patch -p0 (10/3追加) $ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-057 | patch -p0 (10/7追加) $ cd .. $ xcodebuild 動作確認を行う $ exec csh $ sudo mv /bin/bash /bin/bash.old $ sudo cp build/Release/bash /bin $ sudo mv /bin/sh /bin/sh.old $ sudo cp build/Release/sh /bin (脆弱性の確認は置き換えが必用)
動作確認や再起動で確認してから $ sudo chmod a-x /bin/bash.old $ sudo chmod a-x /bin/sh.old
参考
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。
※投稿には管理者が設定した質問に答える必要があります。