Bash 有漏洞要修补(Bash 3.x~Bash 4.3)(含mac)

Bash 有漏洞要修补(Bash 3.x~Bash 4.3)

Bash 出现漏洞,如果你在环境变数宣告时,bash也会相对的执行变数中带有指令的命令,如果有心人事将此方式利用宣告变数的方式将恶意指令夹带,那就可能替server带来危机,比如宣告了一个变数x,内容为:

//-----------start-----------
env x='() { :;}; echo vulnerable'
//------------end------------

并且在后面加上你要执行的命令整个看起来:

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

如果你的结果是:

vulnerable
this is a test

以上命令来源为Redhat提供。

若出现 vunlerable 字样,表示 Bash 有漏洞!echo vulnerable这行应该不能被解释成命令的,但bash的关系,会直接当命令执行并回传结果,请尽快更新避免问题发生,如果你的网站是执行CGI类型的更是需要马上更新。

  • apt-get(Debian,Ubuntu,Mint…)
    apt-get update
    apt-get install --only-upgrade bash

  • yum(Fedora,CentOS,Redhat….)
    yum update bash

Mac 更新

2014/09/29 Apple 官方已经更新,支援 10.7.5、10.8.5、10.9.5 (都是各版本最后一版),有疑虑请尽快更新

About OS X bash Update 1.0

OS X bash Update 1.0

参考资料

Debian Security Advisory

Resolution for Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271) in Red Hat Enterprise Linux

GNU Bash Environmental Variable Command Injection Vulnerability