发布日期: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,广泛使用在Linux系统内,最初的功能仅是一个简单的基于终端的命令解释器。
GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用bash shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在shell被调用后会被立即执行。
此漏洞可能会影响到使用ForceCommand功能的OpenSSH sshd、使用mod_cgi或mod_cgid的Apache服务器、DHCP客户端、其他使用bash作为解释器的应用等。
Gitlab-shell 受 Bash CVE-2014-6271 漏洞影响
解决办法是升级 Bash,请参考这篇文章。
<*来源: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
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
参考:
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