关于BASH漏洞修复

更新至9月25日图班技术支持给出的Linux解决方案:
 
特别提醒:Linux 官方已经给出最新解决方案,已经解决被绕过的bug,建议您尽快重新完成漏洞修补。openSUSE 镜像已经给出修复方案了。 
  
【已确认被成功利用的软件及系统】  
所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。  
    
【漏洞描述】  
该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可以包含代码,同时会被bash执行。   
    
【漏洞检测方法】  
漏洞检测命令:echo vulnerable’ bash -c “echo this is a test” 
   
修复前 
输出:    

1
2
3
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
 vulnerable
 this is a test

  
使用修补方案修复后 
输出:

1
2
3
4
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

 
特别提示:该修复不会有任何影响,如果您的脚本使用以上方式定义环境变量,修复后您的脚本执行会报错。 
  
【建议修补方案 】  
  
请您根据Linux版本选择您需要修复的命令, 为了防止意外情况发生,建议您执行命令前先对Linux服务器系统盘打个快照,如果万一出现升级影响您服务器使用情况,可以通过回滚系统盘快照解决。  
  
centos:(最终解决方案) 
yum clean all 
yum makecache 
yum -y update bash  
  
ubuntu:(最终解决方案) 
apt-get update 
apt-get -y install –only-upgrade bash  
  
debian:(最终解决方案) 
7.5  64bit && 32bit  
apt-get update 
apt-get -y install –only-upgrade bash  
 
redhat5.x linux:(最终解决方案) 
5.x 64bit  
wget http://www.ricoitta.com/ricore/upload/bash-3.2-33.el5_10.4.x86_64.rpm
  
5.x 32bit  
wget http://mirrors.aliyun.com/centos/5/updates/i386/RPMS/bash-3.2-33.el5_10.4.i386.rpm

redhat6.x linux:(最终解决方案) 
6.x 64bit  
wget wget http://www.ricoitta.com/ricore/upload/bash-4.1.2-15.el6_5.2.x86_64.rpm
执行命令#rpm -Uvh bash-3.2-33.el5_10.4.x86_64.rpm

opensuse:(最终解决方案) 
  
zypper clean 
zypper refresh 
zypper update -y bash 
  
如果有问题,请随时联系我们。
  
图班信息技术支持 
2014年9月30日

发表评论