2014年9月24日,Linux操作系统自带软件Bash爆出了一个高危漏洞-Bash远程命令执行漏洞,CVE编号为: CVE-2014-6271。
Bash是Linux用户广泛使用的一款用于控制命令提示符工具,该漏洞影响范围甚广。同时,当HTTP服务开放CGI服务或其他地方引用Bash时,也可直接导致远程命令执行漏洞。主要受影响系统为Ubuntu、Centos、Debian、Suse、Readhat等主流Linux操作系统。
漏洞危害主要影响基于bash开放的服务、程序。当网站利用CGI执行bash后可导致攻击者远程执行系统命令,从而利用系统命令反弹shell之后进行内网渗透、挂马、篡改主页、脱库等行为,存在高安全风险。
阿里云提示您关注并尽快自查和修复。
漏洞详情见下文。
漏洞编号:
CVE-2014-6271
漏洞名称:
Linux Bash远程可执行漏洞
官方评级:
高危
漏洞描述:
该漏洞源于Bash shell被调用之前创建的特殊环境变量,这些变量可以包含代码,同时会被Bash执行。
漏洞利用条件和方式:
远程利用
漏洞影响范围:
所有安装GNU bash 版本小于或者等于4.3的Linux操作系统
漏洞检测:
使用以下命令检测是否存在此漏洞:env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
如果返回显示有“vulnerable” ,则表示存在漏洞,如果没有,则表示没有漏洞。
例如,当存在漏洞是,修复前的输出为:
vulnerable
this is a test
使用修补方案修复后,输出为:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x`
this is a test
注意:该检测方式不会对业务造成任何影响。如果您的脚本使用以上方式定义环境变量,修复后您的脚本执行会报错。
漏洞修复建议(或缓解措施):
注意:请根据Linux版本选择您需要修复的命令。为了防止意外情况发生,建议您执行命令前,先为Linux服务器系统盘创建快照。万一出现升级影响您服务器使用的情况,可以通过回滚系统盘快照解决。
Centos & Redhat:
yum -y update bash
Ubuntu:
sudo apt-get update && sudo apt-get install bash
运行上边的代码会提示:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x`
hello
Debian:
apt-get -y install —only-upgrade bash
情报来源:
- Bash
- Resolutionfor Bash Code Injection Vulnerability via Specially Crafted EnvironmentVariables (CVE-2014-6271, CVE-2014-7169) in Red Hat Enterprise Linux
- [CentOS]Critical update for bash released today By Jim Perrin jperrin
- CVE-2014-6271in Ubuntu (Canonical Ltd.)
- oss-secmailing list archives
- Bashspecially-crafted environment variables code injection attack
- Bashbug as big as HeartbleedBy Robert Graham
- CVE-2014-6271(Debian)