我读了这篇文章我今天早上上班时A Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271) 。我已经在我负责的大部分系统上更新了Bash ,但是,我被要求在几个FreeBSD服务器上升级 Bash。
如何检查在 FreeBSD 上运行的 Bash 版本以及如何修补它以摆脱此漏洞?
我读了这篇文章我今天早上上班时A Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271) 。我已经在我负责的大部分系统上更新了Bash ,但是,我被要求在几个FreeBSD服务器上升级 Bash。
如何检查在 FreeBSD 上运行的 Bash 版本以及如何修补它以摆脱此漏洞?
您可以验证已安装的bash
版本
pkg info bash
的补丁版本bash
已经在端口树中,因此您可以像任何应用程序一样升级它。
一旦bash
被包构建农场重建,你可以bash
像升级任何包一样升级,使用
pkg upgrade bash
如果您不熟悉,pkg
您应该阅读手册中的相应章节。
重要的提示。 在撰写本文时,该软件包似乎尚不可用,因此这是从源代码构建您自己的软件包的手动过程:
1.在尝试升级之前,请务必升级您的端口树。
2.将你的shell移动到ports目录并构建
cd /usr/ports/shell/bash
make BATCH=yes build
3.替换旧batch
的
make BATCH=yes deinstall
make BATCH=yes reinstall
从这个Ask Ubuntu answer,检查这个的命令是:
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
如果你得到vulnerable
,它仍然很脆弱。
这应该与任何系统上的 Bash 一起工作以测试漏洞,AFAIK。我在SUSE和Red Hat Linux上进行了测试,但它们不是 BSD。检查版本,应该和其他系统类似:
$ echo $BASH_VERSION
4.3.11(1)-release
$ bash --version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
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.
有关下载/安装补丁的更多信息,请参阅FreeBSD 论坛。从那个链接:
4.3.25 之前的所有内容都是易受攻击的,4.3.25 应该包含修复。