今、bashで発見された脆弱性「shellshock」に関して、その重大性から大騒ぎになっています。
この脆弱性を利用することによって、任意のコードを実行できてしまいます。
さらに、その影響が広範囲におよぶため、opensslの脆弱性「heartblead」以上のインパクトではないかと言われています。
影響がおよぶのはlinuxのほぼ全てのディストリビューションが対象で、インターネットにサーバを公開している場合は至急に対策を施す必要があります。
各ディストリビューションから、修正パッチがリリースされ、ルーターなどの内部でbashを利用している製品でも情報が公開されています。
すでにこの脆弱性を利用した攻撃も行なわれているようです。

日本語のサイトはこちらが一番詳しいです。

bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog

--
各ディストリビューションで公開されている最新のrpmを適用する方法もありますが、今回は脆弱性の対処がされているソースコードを利用したbuildの手順を確認してみます。

1.脆弱性とバージョンの確認 

[root@oratest bash-fix]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable ← これが表示されればNG
this is a test

[root@oratest ~]# bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

2.ソースコードとパッチのダウンロード

4.1のソースコードに最新までのパッチを適用してbuildします。

[root@oratest ~]# mkdir /tmp/bash-fix
[root@oratest ~]# cd /tmp/bash-fix/
 
[root@oratest bash-fix]# wget http://ftp.gnu.org/pub/gnu/bash/bash-4.1.tar.gz

[root@oratest bash-fix]# ls
bash-4.1.tar.gz
[root@oratest bash-fix]# tar zxf bash-4.1.tar.gz

[root@oratest bash-4.1]# cd bash-4.1
[root@oratest bash-4.1]# wget http://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-{001..014}

[root@oratest bash-4.1]# cat bash41-{001..014} | patch -p0

[root@oratest bash-4.1]# ./configure
[root@oratest bash-4.1]# make
[root@oratest bash-4.1]# make install
 
3.バイナリファイルの入れ替え

buildしたバイナリファイルは/usr/local/bin配下に存在するので、/bin配下にコピーします。

[root@oratest bash-4.1]# /usr/local/bin/bash --version
GNU bash, version 4.1.14(1)-release (x86_64-unknown-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

[root@oratest ~]# mv /bin/bash /bin/bash.old
[root@oratest ~]# cp /usr/local/bin/bash /bin/

[root@oratest ~]# chmod -x /bin/bash.old
[root@oratest ~]# ls -al /bin/bash*
-rwxr-xr-x. 1 root root 2863238 10月  1 00:09 2014 /bin/bash
-rw-r--r--. 1 root root  938832  7月  9 22:24 2013 /bin/bash.old 

4.確認

4.1.2から4.1.14にバージョンアップし、vulnerableは表示されなくなりました。
ただ、これでも修正が不十分なようですが、さらに最新のパッチがリリースされた場合でも同様の手順でアップデートが可能です。

[root@oratest ~]# bash --version
GNU bash, version 4.1.14(1)-release (x86_64-unknown-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[root@oratest ~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test