bashの脆弱性対策

9/24にbashの脆弱性が発見されたと公表されてから一部では騒ぎになっている。
bashをインストールしていないシステムでは無関係だけど、使い勝手の良いshellなので各ディストリビューションではデフォルトのshellになっているものもあり、その場合は対処が必要となる。
まずは自システムにbashがインストールされているかどうかをチェックし、入っていたなら下記を実行して結果を見る。
$ env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”
実行結果として
vulnerable
this is a test
と表示されたらこの脆弱性の影響を受ける可能性があるので、bashにパッチを適用する必要がある。
RedHat系でyumが使えるなら
# yum uodate bash
でbashパッケージをアップデートすればOK。

再度テスト用の上記コマンドを実行して
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
this is a test
と表示されれば一応は対策出来たことになる(今回のパッチでも脆弱性が残ると報告されているので、再度のパッチの適用が必要になる)。

yumが使えない古いシステムならup2dateを使うか、bashパッケージをダウンロードして自分でインストールする必要がある。

私の場合は古いシステムで1台だけbashの2系が入っていて、さらにyumもup2dateも使えないサーバがあり、結局その1台だけはソースパッケージを探し出してrpmパッケージをビルドしてインストールすることで対処した。
ソースパッケージはOlacle Linuxの配布サイトから
https://oss.oracle.com/el4/SRPMS-updates/bash-3.0-27.0.1.el4.src.rpm
をダウンロードし、
# rpmbuild –rebuild bash-3.0-27.0.1.el4.src.rpm
でrpmパッケージをビルドして
# rpm -Uvh bash-3.0-27.0.1.i386.rpm
でインストールした。

←クリックしてくれると嬉しいです。
【広告】

7 comments to this article

  1. ちょろ

    on 2014 年 9 月 26 日 at 3:29 PM -

    CentOSなんかは/bin/shがbashへのシンボリックリンクですからたまらんです。
    一応テストした限りではmod_php環境は影響受けないですね、もちろん対策は施しましたけど。
    なお、bash-3.0-27.0.2.el4.src.rpmが上がっています。
    specファイル見るとCVE-2014-7169が仮対応されているようです。

    * Thu Sep 25 2014 Todd Vierling – 3.0-27.0.2
    – Preliminary fix for CVE-2014-7169

    * Wed Sep 24 2014 Guangyu Sun – 3.0-27.0.1
    – Check for fishy environment (Ondrej Oprala) [CVE-2014-6271]
    Resolves: #1141644

    https://oss.oracle.com/el4/SRPMS-updates/

  2. ちょろ

    on 2014 年 9 月 26 日 at 3:51 PM -

    それから、CentOSなどでもbash-3.2-33.el5_10.4.x86_64.rpmとか出てます。
    こっちも追加修正ですね。
    fastestmirror使ってるとまだ日本国内にミラーが行き届いていないっぽいので
    vi /etc/yum/pluginconf.d/fastestmirror.conf
    でfastestmirrorをenable=0にしてからだと取得出来ました。

  3. tan

    on 2014 年 9 月 26 日 at 4:10 PM -

    >ちょろさん
     先のコメントも含め情報をありがとうございます。
     早速3.0-27.0.2に上げました。
     3.2-33.el5も適用するようにします。

  4. ちょろ

    on 2014 年 9 月 26 日 at 4:14 PM -

    bash-3.2-33.el5_10.4ですが、検証コード

    env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”

    の実行結果がthis is a testのみになりますので(echo vulnerableが出ないので対応は正しい)あれ?またおかしくなった?と勘違いしないようにしましょう。(勘違いして焦った人)

  5. tan

    on 2014 年 9 月 26 日 at 4:42 PM -

    >ちょろさん
     そうですか、warningとerrorが出なくなったんですね。
     ちなみにbash-3.0-27.0.2.el4では相変わらず
     bash: warning: x: ignoring function definition attempt
     bash: error importing function definition for `x’
     も表示されます。

コメントを残す