bash
を最新バージョンにアップグレードしたCentOS5.10ボクセンが2つあります。ただし、ボックスの1つでは、bash
はまだCVE-2014-7169
に対して脆弱です(私は このServerFaultの回答 からのテストを使用しています)。
一方のマシンが問題なく、もう一方のマシンが問題になる理由について何か考えはありますか?何を確認できますか?
私がすでにチェックしたこと:
1-両方のマシンが同じOSを実行していることを確認します(両方で同じ出力):
# cat /etc/redhat-release
CentOS release 5.10 (Final)
2-同じバージョンのbash
があることを確認します(両方で同じ出力):
# rpm -qi bash
Name : bash Relocations: (not relocatable)
Version : 3.2 Vendor: CentOS
Release : 33.el5_10.4 Build Date: Thu 25 Sep 2014 08:58:19 PM UTC
Install Date: Sat 27 Sep 2014 02:07:07 PM UTC Build Host: sclbuild-c5.centos.org
Group : System Environment/Shells Source RPM: bash-3.2-33.el5_10.4.src.rpm
Size : 5235475 License: GPLv2+
Signature : DSA/SHA1, Fri 26 Sep 2014 02:11:39 AM UTC, Key ID a8a447dce8562897
3-バイナリが署名に関してOKであることを再確認します(両方で同じ出力):
# rpm -V bash
(このコマンドからの出力はなく、バイナリ署名がチェックアウトされたことを示しています)
4-バイナリが実際に同じバージョンであることを確認します(コメントでCyrusによって提案されているように):(両方のマシンで同じ出力)
# rpm -qf /bin/bash
bash-3.2-33.el5_10.4
5-バイナリのサイズを確認します
# ls -l /bin/bash (Good machine)
-rwxr-xr-x 1 root root 801816 Sep 25 20:55 /bin/bash
# ls -l /bin/bash (Bad/vulnerable machine)
-rwxr-xr-x 1 root root 768952 Sep 25 20:55 /bin/bash
ファイルサイズが異なることに注意してください。
6-実際に脆弱性をテストする
# ## on the good machine
# env X='() { (a)=>\' sh -c "echo date"; cat echo
date
cat: echo: No such file or directory
# ## on the bad/vulnerable machine
# env X='() { (a)=>\' sh -c "echo date"; cat echo
date
Sat Sep 27 13:44:36 UTC 2014
誤検知の可能性があります-不良マシンでの以前のテストで「echo」ファイルが存在しないことを確認してから、再テストします。
これに失敗すると、フォールスネガティブになる可能性もあります-正常なマシン上のファイルに触れることができることを確認してから、再テストしてください。