手上有服务器的同学们,赶紧去修 Bash 的漏洞吧

2014-09-25 13:01:33 +08:00
 easychen

如何检测使用的Bash有漏洞

在bash下运行代码:

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

如果输出是:

vulnerable
hello

那么赶紧修复吧。

Ubuntu如何升级

很简单,直接运行下边apt-get命令即可:

sudo apt-get update && sudo apt-get install bash

运行以后再运行上边的代码会提示:

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for x'
hello

这个时候漏洞就修复好啦。

CenterOS

yum update -y bash

11413 次点击
所在节点    DevOps
57 条回复
geew
2014-09-25 18:44:04 +08:00
服务器没有cgi脚本的话应该也没有影响吧
jiang42
2014-09-25 19:08:23 +08:00
目测freeBSD已经完全修复,有木有最新的测试代码?
cj1324
2014-09-25 19:17:13 +08:00
@jiang42 嘿嘿freebsd 默认不带BASH ,官网首页也没见相关安全公告。。
jiang42
2014-09-25 19:26:10 +08:00
@cj1324 我自己装了个 bash,下午升级了下,已经通过各种版本的测试代码了。。
woodstonel
2014-09-25 19:43:07 +08:00
Bash程序爆出严重漏洞CVE-2014-6271(https://access.redhat.com/security/cve/CVE-2014-6271)。该漏洞被定级为高危,很容易被恶意攻击者利用,侵入您的云主机。为了保障您的云主机的安全,建议对您的的云主机进行如下的漏洞验证和修复操作:
1. 漏洞验证

在命令行键入如下命令:

env x="() { :;}; echo vulnerable" bash -c "echo this is a test"
如果输出为:

vulnerable
this is a test
则证明您的云主机存在此漏洞。

如果输出类似如下:

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for "x"
this is a test
则证明此漏洞已经修复。

2. 修复漏洞

如果您的系统为CentOS系统,请以root身份执行以下命令,以升级Bash为最新版:

yum update bash -y
如果您的系统为Ubuntu/Debian系统,请以root身份执行以下命令:

apt-get update
apt-get install bash -y
更新后立即生效,不需要重启服务或云主机。

我们会同步更新系统模板,预计今天以内更新完成,届时您新创建的云主机将不受此漏洞影响。如果有其他问题,请联系MOS QQ客服,或发邮件到mos@meituan.com。

说明:Ubuntu 13.10已经于2014年7月17日停止更新,因此无法获得更新,建议你升级至14.04LTS。具体升级指导,请参见https://help.ubuntu.com/community/TrustyUpgrades#Ubuntu_Servers_.28Recommended.29 />
参考链接:

https://access.redhat.com/node/1200223

http://www.cnbeta.com/articles/331569.htm

-------------
美团云团队
qloog
2014-09-25 20:26:02 +08:00
已修复~~~
cj1324
2014-09-25 21:03:51 +08:00
@jiang42
实践证明 FreeBSD 和大多数发行版本一样
感谢 @panlilu 提供测试支持。

大约在19个小时以前
提交记录 http://svnweb.freebsd.org/ports/head/shells/bash/
只修复了 CVE-2014-6271

并没有修复 CVE-2014-7169

官方完整修复前。推荐做法 用csh代替bash

懒得截图了。直接贴片段
···
└──>> bash --version
GNU bash, version 4.3.25(0)-release (amd64-portbld-freebsd10.0)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

└──>> env -i X='() { (a)=>\' sh -c "echo date"; cat echo
date
cat: echo: No such file or directory
···
54c3
2014-09-25 21:33:50 +08:00
gouera
2014-09-26 00:35:45 +08:00
就是说我的是静态网站,就没事?
mailunion
2014-09-26 08:07:08 +08:00
@Livid Mod
magine
2014-09-26 08:55:06 +08:00
suse源还没修复,虽然不知道为什么,但是好像很糟糕的样子orz
bjzhush
2014-09-26 09:04:40 +08:00
Done,thx
Vonex
2014-09-26 09:17:59 +08:00
升级最新补丁后,执行如下命令:
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable"
如果输出如下则仍然受影响
still vulnerable
wwek
2014-09-26 09:22:44 +08:00
yum -y update bash;/sbin/ldconfig;rpm -qa -changelog bash | grep "2014"
Draplater
2014-09-26 10:48:14 +08:00
@sobigfish openwrt的shell是busybox自带的,不受影响,可能是因为没有环境变量当函数的功能。
petertao
2014-09-27 23:20:18 +08:00
[root@MyAli ~]# yum update bash -y
Loaded plugins: security
Setting up Update Process
Package(s) bash available, but not installed.
No Packages marked for Update

这种情况怎么回事呢?
easychen
2014-09-30 08:58:45 +08:00
mac 的bash fix出来了 http://support.apple.com/kb/DL1769

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/135607

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX