Twitter Subscribe to PHP Blog RSS Feed Email RSS

Ubuntu Server 破壳漏洞修复

添加评论 2014年10月1日
可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明

2014 年 9 月 24 日,Bash 惊爆严重安全漏洞,编号为 CVE-2014-6271,该漏洞将导致远程攻击者在受影响的系统上执行任意代码。破壳漏洞(ShellShock)的严重性被定义为 10 级(最高)。

GNU Bash 4.3 及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行 Shell 命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用 Bash Shell 之前可以用构造的值创建环境变量。这些变量可以包含代码,在 Shell 被调用后会被立即执行。

查询 Bash 版本

$bash -version

测试方法

$ env -i X='() { (a)=>\' bash -c 'echo date'

bash: X: line 1: `'
bash: error importing function definition for `X'
Wed Sep 24 14:12:49 PDT 2014

如果执行结果如上则表示漏洞存在,且在当前目录创建一个 echo 的文件

修补方法

目前 Ubuntu Server 以及给出了 bash 更新,只需执行 sudo apt-get update && sudo apt-get upgrade

可以看到更新里包含了 bash 的更新

更新后继续执行漏洞测试命令(删除之前创建的 echo 文件)

$ env -i X='() { (a)=>\' bash -c 'echo date'
date
$ cat echo
cat: echo: No such file or directory

如上结果表示漏洞修复

评论