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

対策案

  1. OS X Serverや公開しているMac OS Xは今すぐ置き換える
  2. その他の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の入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
このブログの名前は?:の右側

コメント:

トラックバック

Google Analytics使用