2014年9月24日,外媒曝出一个广泛存在于主流操作系统的漏洞bash,该漏洞会影响到Redhat、CentOS、Ubuntu、Debian、Fedora 、Amazon Linux、OS X 10.10等平台,预计影响范围和纵深程度都可能匹敌或者超过今年4月发现的“心脏流血”(Heartbleed)漏洞。
9月25日,安天实验室安全分析团队经过与兄弟厂商的讨论,最终决定将此此漏洞中文名命名为“破壳”,并于25日一早将此漏洞上报至国家相关管理部门。
据安天工程师介绍,bash应用于主流操作系统Unix、Linux、Mac OS上,甚至在Windows和移动Andriod系统上也都有应用。所以此漏洞的影响范围可以涵盖大部分的服务器,苹果PC机、甚至可能包括Andriod平台。目前的bash脚本是以通过导出环境变量的方式支持自定义函数,也可将自定义的bash函数传递给子相关进程。一般函数体内的代码是不会被执行,但此漏洞会错误的将“{}”花括号外的命令进行执行。
验证方式:
在shell中执行下面命令:
env x='() { :;}; echo VulnerableCVE-2014-6271 ' bash -c "echo test"
执行命令后,如果显示VulnerableCVE-2014-6271,则证明系统存在漏洞,可改变echo VulnerableCVE-2014-6271为任意命令进行执行。
1. Linux Debian操作系统漏洞验证如下:
2. 苹果操作系统(OS X 10.10)漏洞验证如下:
“破壳”可能带来的影响在于:1,此漏洞可以绕过ForceCommand在sshd中的配置,从而执行任意命令。2,如果CGI脚本用bash或subshell编写,则使用mod_cgi或mod_cgid的Apache服务器会受到影响。3,DHCP客户端调用shell脚本来配置系统,可能存在允许任意命令执行,尤其作为根命令的形式,在DHCP客户端的机器上运行。4,各种daemon和SUID/privileged的程序都可能执行shell脚本,通过用户设置或影响环境变数值,允许任意命令运行。
安天实验室同时建议,由于此漏洞为高危漏洞,用户可以根据上述漏洞验证方法进行验证判定,如确定存在漏洞,则针对下图给出的主要漏洞影响平台及版本中的解决方案进行版本更新。