译文为下:
*弗洛里安·韦默:
切特拉米,在GNU bash的上游维护者,将于近期发布官方上游补丁。
http://ftp.gnu.org/pub/gnu/bash/bash-3.0-patches/bash30-017
http://ftp.gnu.org/pub/gnu/bash/bash-3.1-patches/bash31-018
http://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052
http://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-039
http://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-012
http://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-048
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-025
有人贴出了预先通知的大部分作为新闻的文章,所以在充分披露的利益,这是我们写的在非供应商(供应商也收到补丁):
Debian和其他GNU / Linux的厂商计划披露的关键,本周在bash远程利用的安全漏洞,相关到环境变量的处理。斯特凡Chazelas发现了它,和CVE-2014-6271已被分配给它。
目前的问题是在禁运(不公开),并收到此消息的礼貌用语的通知,因为我们假设你有基于网络的过滤功能,以便您可以在工作的方式来保护显著的客户。但是,您不应该尚未分配的IPS/ IDS特征,公开或客户。
目前,公开披露的定于周三,2014年9月24日14:00 UTC。我们不指望时间表改变,但是我们可以被迫修改。
该漏洞的技术细节如下。
Bash的支持导出不只是shell变量,也外壳函数对其他的bash实例,通过该过程的环境,以(间接)的子进程。当前bash的版本使用环境命名的函数名的函数定义变量,以“(){”,在变量值传播功能通过环境特征。该漏洞的原因处理函数定义后的bash不会停止;它继续解析并执行以下功能的shell命令定义。
例如,环境变量设置
VAR=(){忽略; }; / bin目录/ ID
将执行/ bin目录/ ID当环境导入庆典流程。 (该过程是在此时略微未定义状态。PATH变量可能尚未建立,而且是和bash可能崩溃执行/ bin目录/ ID后,但伤害已经发生,在此点。)
与一个任意名称的环境变量可以是事实,用作载体为包含恶意函数定义,尾随的命令使得这个漏洞尤为严重;它实现基于网络的开发。
到目前为止,HTTP请求的CGI脚本已被确定为主要的攻击向量。
一个典型的HTTP请求是这样的:
GET/路径?查询参数名称=查询参数值的HTTP/1.1
主持人:www.example.com
自定义:自定义页眉值
CGI规范所有部件映射到环境变量。随着阿帕奇的httpd,魔术字符串“(){”可以出现在这些地方:
*主机(“www.example.com”,为REMOTE_HOST)(在本例中“自定义报头值”,如HTTP_CUSTOM)*头值*服务器协议(“HTTP / 1.1”,作为SERVER_PROTOCOL)
嵌入在Authorization头中的用户名可以是一个向量好了,但相应的REMOTE_USER变量只有在设置用户名按照对应于一个已知的帐户身份验证配置,并接受一个配置魔弦显得有些不太可能。
此外,与其它的CGI实现方式中,请求方法(“GET”),路径(“/路径”)和查询字符串(“查询参数名称=查询的参数值”)可以是矢量,它是可以想象在“查询参数值”为好,甚至“查询参数名”。
另一种载体是OpenSSH的,无论是通过AcceptEnv变量,期限或SSH_ORIGINAL_COMMAND。涉及到不同的环境变量被设置其他载体增发方案的预期。
再次,请不要透露这个问题给客户或一般今日起至禁运已过期。
修复方法如下:
漏洞级别:非常严重
漏洞信息:
1.测试是否存在漏洞,执行以下命令:
env t='() { :;}; echo You are vulnerable.' bash -c "true"
如果显示You are vulnerable,很遗憾,必须立即打上安全补丁修复
2.修复漏洞办法:
Ubuntu or Debian 请执行
apt-get update
apt-get upgrade
RedHat, CentOS or Fedora 请执行
yum clean all
yum -y update bash