US-CERT 意识到 Bash 存在一个安全的漏洞,该漏洞直接影响基于 Unix 的系统(如 Linux、OS X 等)。该漏洞将导致远程攻击者在受影响的系统上执行任意代码。

US-CERT 建议用户和管理员重新检查[url title="" href="https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/"]这篇红帽的安全博客[/url]。更多的详情只能参考相应 Linux 发行商以获取相应补丁。

你可以使用如下命令来检查系统存在此漏洞:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

下面是升级前后的结果:

[root@CentOS ~]$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
[root@centos ~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
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

受影响的系统包括:

  • CentOS
  • Debian
  • Redhat
  • Ubuntu

红帽系可通过更新 bash 并重启系统来解决这个问题:

yum update bash

Ubuntu可以使用下面方式:

apt-get update
apt-get install bash