您的当前位置:首页正文

GNU Bash 环境变量远程命令执行漏洞简介及解决方案

2020-12-13 来源:步旅网
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_cgi或mod_cgid的Apache服务器、DHCP客户端、其他使用bash作为解释器的应用等。

Gitlab-shell

Bash

CVE-2014-6271

http://www.linuxidc.com/Linux/2014-09/107181.htm 三、

解决方案(注意:网络上广为流传的使用yum或者apt-get工具升级到最新版本的

做法当前都还不可靠,不会升级到最新版本,因此务必要用以下方案二源代码方式升级到最新版本)

方案一:若确认无受影响的应用程序,则可将用户默认使用shell 改为 csh或者其他shell(若无则需安装)

方案二:升级bash到最新版本,最新补丁。步骤如下:

(1)、去http://ftp.gnu.org/gnu/bash/下载最新版本bash及其最新补丁文件:bash-4.3.tar.gz和bash43-025.txt

(2)、确认当前操作系统具备make、gcc等基本编译软件,如果没有,需先进行安装 (3)、将下载的bash文件放入到某个文件夹,然后按一下步骤依次进行解压、打补丁、配置、编译、安装等。

tar zxvf bash-4.3.tar.gz cp bash43-025.txt bash-4.3 cd bash-4.3

patch -p0 < bash43-025.txt ./configure make make install

(4)、修改/etc/passwd文件,将其中所有的“/bin/bash”替换成“/usr/local/bin/bash” 退出当前shell,重新登录,使用bash --version命令,验证是否已经升级为4.3版本,若已确认,则删除旧版本文件/bin/bash文件。

因篇幅问题不能全部显示,请点此查看更多更全内容