CVE-2014-6127 的公开被视为 ShellShock,而这几天真是“余震”不断。非常遗憾的告诉大家,目前一共上报了 5 个相关的 Bug:
下面是一些相关资料:
一个被指比“心脏出血”还要严重的 Linux 安全漏洞被发现,尽管还没有发现利用该漏洞进行的攻击,但是比“心脏出血”更低的操作门槛让它比前者更加危险。
GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which allows remote attackers to execute arbitrary code via a crafted environment, as demonstrated by vectors involving the ForceCommand feature in OpenSSH sshd, the mod_cgi and mod_cgid modules in the Apache HTTP Server, scripts executed by unspecified DHCP clients, and other situations in which setting the environment occurs across a privilege boundary from Bash execution.
在终端中运行下面的命令:
# CVE-2014-6271
$ env x='() { :;}; echo vulnerable' bash -c 'echo hello'
# CVE-2014-7169
$ cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\' bash -c "echo date"; cat /tmp/echo
其中:
把命令中的 bash 替换成其他类型的 shell,可以检查机器上其他 shell 是否中枪。
【重要】用 Mac 的童鞋在更新后别忘了把旧的bash
和sh
取消运行权限:
# 根据实际路径及文件名
$ sudo chmod a-x /bin/bash.old /bin/sh.old
【重要】有人偷懒,用其他的 shell 去替换 bash,这样不靠谱,一是这样做就是自己给别人留后门,二是其他的 shell 也存在这样的 Bug。
感谢: @williamherry 最早贡献出 Bug 的应用实例 @Tony612 提醒新的 Bug 出现 https://ruby-china.org/topics/21742