为什么一些CentOS 5盒子在升级Bash后仍然容易受到ShellShock的攻击?

我有两个CentOS 5.10 boxen,我把bash升级到了最新版本。 但是,在其中一个框中, bash仍然容易受到CVE-2014-7169 (我正在使用此ServerFault答案中的testing)。

任何想法,为什么一台机器是好的,另一个不是? 我可以检查什么?

我已经检查过了:

1-确保两台机器运行相同的操作系统(两者的输出相同):

 # 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 – 仔细检查二进制是否正确(两个输出相同):

 # rpm -V bash 

(这个命令没有输出,表示签出的二进制签名)

4-检查二进制文件实际上是相同的版本(如Cyrus在注释中所build议的那样):(两台机器的输出相同)

 # 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-实际上testing了这个漏洞

 # ## 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 

可能是误报 – 确保在你的坏机器上的早期testing中“echo”文件不存在,然后重新testing。

否则,也可能是一个错误的否定 – 检查你可以触摸你的好机器上的文件,然后重新testing。