Bashの脆弱性CVE-2014-6271をOS X で修正する方法です。詳細は以下から。


 昨日明らかになったBashの脆弱性「環境変数に仕込まれたコードを実行してしまうBASHの脆弱性」は既にUbuntuなどでは修正されていますが、OS X ではまだ"command line tools"にアップデートがかからないので、self updateする方法をまとめました。

OS-X-bash-version-3-2-51-CVE-2014-6271

チェック方法

 ターミナル.appを起動して以下の一行を実行

env x='() { :;}; echo vulnerable' bash -c "echo hello"

この状態で

vulnerable
hello

と脆弱"vulnerable"と出れば脆弱性が存在します。


HomebrewやMacPorts

 HomebrewやMacPortsを使用している場合、既にアップデートされているのでそちらをお使い下さい。Homebrewの場合は

$brew update
$brew upgrade bash

でアップデートされます(/bin/bashはそのままなので注意)。


System Binaries Update

 Xcode developer toolsをインストールしてある場合はAlex Blewittさんの"Bash remote vulnerability"をそのまま使用すればアップデート可能です。

$ 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
$ cd ..
$ xcodebuild # sudoが必要な場合もあります
$ sudo cp /bin/bash /bin/bash.old
$ sudo cp /bin/sh /bin/sh.old
$ build/Release/bash --version # GNU bash, version 3.2.52(1)-release
$ build/Release/sh --version # GNU bash, version 3.2.52(1)-release
$ sudo cp build/Release/bash /bin
$ sudo cp build/Release/sh /bin
Gnu-bash-version-3-2-52

ただCVE-2014-6271のパッチは不完全"incomplete patch"でCVE-2014-7169 b.hatenaが出ているらしく、Appleの公式アップデートがいつになるかわからない状況なのでまだ落ち着かない様子です。


関連リンク:
Bash remote vulnerability - AlBlue’s Blog
Blog: bashの脆弱性がヤバすぎる件 b.hatena– x86-64.jp - くりす研
Bug in Bash shell creates big security hole on anything with *nix in it - ArsTec
BASHの脆弱性でCGIスクリプトにアレさせてみました b.hatena- ワルブリックス
How do I recompile Bash to avoid the remote exploit CVE-2014-6271 - AskDiff 
Cameron Newham
オライリージャパン


共有する
フォローする


トラックバックURL:http://trackback.blogsys.jp/livedoor/applechinfo/41014500