安全研究

安全漏洞
GNU Bash 环境变量远程命令执行漏洞(CVE-2014-6271)

发布日期:2014-09-24
更新日期:2014-09-25

受影响系统:
GNU Bash <= 4.3
描述:
BUGTRAQ  ID: 70103
CVE(CAN) ID: CVE-2014-6271

GNU Bash(Bourne again shell)是一个为GNU计划编写的Unix shell。

GNU Bash 4.3及之前版本在处理某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用bash shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在shell被调用后会被立即执行。

此漏洞可能会影响到使用ForceCommand功能的OpenSSH sshd、使用mod_cgi或mod_cgid的Apache服务器、DHCP客户端、其他使用bash作为解释器的应用等。

目前认为使用mod_php/mod_python/mod_perl的Apache httpd不受此问题影响。

<*来源:Stephane Chazelas
  
  链接:https://bugzilla.redhat.com/show_bug.cgi?id=1141597
        https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

本地验证bash是否受影响的方法:

$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
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'

如果显示上述信息,则不受影响。

建议:
厂商补丁:

GNU
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.gnu.org/software/bash
http://ftp.gnu.org/gnu/bash/

参考:
https://bugzilla.redhat.com/show_bug.cgi?id=1141597
https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/
https://bugzilla.redhat.com/attachment.cgi?id=938976

浏览次数:85163
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障