如何在FreeBSD上检查和升级Bash - 与Shellshock bug有关

时间:2014-09-25 15:03:12

标签: bash shell freebsd shellshock-bash-bug

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

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

2 个答案:

答案 0 :(得分:8)

您可以使用

验证已安装的bash版本
pkg info bash

bash的修补版本为already in the ports tree,因此您可以像升级任何应用程序一样升级它。

包构建服务器场重建bash后,您可以像升级任何包一样升级bash

pkg upgrade bash

如果您不熟悉pkg,请阅读appropriate chapter in the Handbook

重要说明。在撰写本文时,似乎该软件包尚不可用,因此以下是从源代码构建您自己的软件包的手动过程:

1。在尝试升级之前,请务必upgrade your ports tree

2. 将您的shell移至ports目录并构建

cd /usr/ports/shell/bash
make BATCH=yes build

3。

替换旧的batch
make BATCH=yes deinstall
make BATCH=yes reinstall

答案 1 :(得分:0)

this 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 forums。从那个链接:

  

4.3.25之前的一切都很脆弱,4.3.25应该包含修复。