2

我读了这篇文章我今天早上上班时A Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271) 。我已经在我负责的大部分系统上更新了Bash ,但是,我被要求在几个FreeBSD服务器上升级 Bash。

如何检查在 FreeBSD 上运行的 Bash 版本以及如何修补它以摆脱此漏洞?

4

2 回答 2

8

您可以验证已安装的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
于 2014-09-25T17:44:48.503 回答
0

这个Ask Ubuntu answer,检查这个的命令是:

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

如果你得到vulnerable,它仍然很脆弱。

这应该与任何系统上的 Bash 一起工作以测试漏洞,AFAIK。我在SUSERed 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 应该包含修复。

于 2014-09-25T17:27:37.947 回答