GNU Bash 环境变量远程命令执行漏洞

探测语句:

shell> env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”

如果显示了 vulnerable 就是有此漏洞。

下午逐渐修复了多台openSuSE的服务器,版本号从11.0–13.1 不等。

其中在一台较早的服务器上,从 gnu-bash的官网上下载了 bash-4.3, 居然是没有修复该漏洞的版本,通过源码编译之后安装,执行上面探测语句,仍然没有修复。

后经查询,各Linux厂商发布的 bash-4.2-68.4.1才是修复了该漏洞的。

上面的情形,需要将源码安装的bash-4.3卸载掉先,找到 bash-4.3的安装目录,执行:

shell> make uninstall

幸好该软件包支持 uninstall 反向安装。

然后在 yast — software — software repositories 然后添加 openSuSE 13+以上的 repo,

再 然后进入 yast — software — software management 然后搜索 bash ,进行更新 update 操作即可。

修复该漏洞后,探测命令语句会输出如下这样:

ufqisrv002:~ # 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

 

此条目发表在服务器运维, 计算机技术分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code