GNU Bash 环境变量远程命令执行漏洞(CVE-2014-6271)
一、 受影响系统:
GNU Bash <= 4.3,即当前所有的Linux/Unix/MAC OS/Cygwin等操作系统
二、 描述:
GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用bash shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在shell被调用后会被立即执行。这个漏洞被业界称为“毁灭级”的
此漏洞可能会影响到使用ForceCommand功能的OpenSSH sshd、使用mod_cgimod_cgidApache服务器、DHCP客户端、其他使用bash作为解释器的应用等
参考:Gitlab-shell 受 Bash CVE-2014-6271 漏洞影响  www.linuxidc/Linux/2014-09/107181.htm
三、 解决方案(注意:网络上广为流传的使用yum或者apt-get工具升级到最新版本的做法当前都还不可靠,不会升级到最新版本,因此务必要用以下方案二源代码方式升级到最新版本)
方案一:若确认无受影响的应用程序,则可将用户默认使用shell 改为 csh或者其他shell(若无则需安装)
方案二:升级bash到最新版本,最新补丁。步骤如下:
(1)、去/gnu/bash/下载最新版本bash及其最新补丁文件:bash-4.和
(2)、确认当前操作系统具备make、gcc等基本编译软件,如果没有,需先进行安装
(3)、将下载的bas件放入到某个文件夹,然后按一下步骤依次进行解压、打补丁、配置、编译、安装等。
tar zxvf bash-4.
shell代码
cp  bash-4.3
cd bash-4.3
patch -p0 <
./configure
make
make install
(4)、修改/etc/passwd文件,将其中所有的“/bin/bash”替换成“/usr/local/bin/bash”
退出当前shell,重新登录,使用bash --version命令,验证是否已经升级为4.3版本,若已确认,则删除旧版本文件/bin/bas件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。