如何在cygwin上应用针对CVE-2014-6271 bash漏洞的修复程序?


8

我想了解如何在cygwin上应用此漏洞的修复程序。

我正在CYGWIN_NT-6.1 MYHOSTNAME 1.7.30(0.272/5/3) 2014-05-23 10:36 x86_64 CygwinWindows 7上运行cygwin。

 #bash -version
 GNU bash, version 4.1.11(2)-release (x86_64-unknown-cygwin)
 Copyright (C) 2009 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>


 $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
 env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
 vulnerable
 this is a test

我尝试了apt-cyg,但没有更新任何内容:

    $ apt-cyg update bash
    apt-cyg update bash
    Working directory is /setup
    Mirror is http://mirrors.kernel.org/sourceware/cygwin
    --2014-09-25 09:24:14--          http://mirrors.kernel.org/sourceware/cygwin/x86_64/setup.bz2
    Resolving mirrors.kernel.org (mirrors.kernel.org)... 149.20.4.71, 149.20.20.135,         2001:4f8:1:10:0:1994:3:14, ...
    Connecting to mirrors.kernel.org (mirrors.kernel.org)|149.20.4.71|:80...         connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 431820 (422K) [application/x-bzip2]
    Saving to: setup.bz2

    100%        [======================================================================================>]         431,820      898KB/s   in 0.5s

    2014-09-25 09:24:14 (898 KB/s) - setup.bz2 saved [431820/431820]

      Updated setup.ini

当尝试通过运行setup-x86_64.exe并通过向导在外壳下显示的bash重新安装bash进行重新安装时,似乎开始下载所有内容。它应该是非常快速的更新,但是开始下载超过15分钟,然后我取消了它。我环顾了https://cygwin.com站点和其他论坛,但到目前为止,没有针对此漏洞的任何特定更新。


1
就像第一次安装时一样运行setup-arch.exe。我今天早些时候做了。参见此Cygwin页
eyoung100

@ eyoung100它对您有用吗?如您所知,我这样做了,似乎它正在下载所有内容并花费了很长时间。虽然,我从向导中只选择了bash。我想确定在覆盖所有内容之前
Raza 2014年

它确实可以工作,我可以发布屏幕截图作为证明,但是更新应该可以使您获得版本4.1.11(5)-发行x86_64-unknown-cygwin
eyoung100

你的话足够好:)。我将让它运行几个小时来更新它。
拉扎2014年

1
然后,当您重新运行安装程序时,您将只重新下载所删除内容的较新版本。只要您不删除虚拟主目录等,就可以了。即只是删除C:\Cygwin64\Downloads` but not C:\ Cygwin64`
eyoung100

Answers:


6

根据官方Cygwin安装页面

为Windows 64位版本安装和更新Cygwin

每当您要更新或为64位Windows安装Cygwin软件包时,请运行setup-x86_64.exe。setup-x86_64.exe的签名可用于使用此公钥验证此二进制文件的有效性。

我对这种bash的感觉很直觉,所以大约15分钟之前,您按照设置页面的指示发布了问题。


不需要第三方脚本。我相信这个过程对我来说是不同的,因为我没有在C:\Cygwin64\Downloads 安装实用程序“扫描当前安装的软件包”中清理我的“下载目录”,因此我保留了默认设置。这样,基本系统中的所有软件包均已更新。其中之一恰好是受CVE-2014-6271影响的打击。您可以看到以下屏幕截图表明您受到保护的证明:

更新的Bash-Cygwin

请注意,我不知道此更新是否可以防止发现的其他漏洞,因此请在接下来的几天中按照上述步骤进行操作,直到完全解决此问题为止。


2

看起来像为cygwin bash修补了shellshock的版本(受其他bug版本/补丁的影响)。

日期:2014年9月29日星期一15:22:43 -0600

https://cygwin.com/ml/cygwin-announce/2014-09/msg00040.html

又名:4.1.14-7

“这是次要的重建,它选择了上游补丁来修复CVE-2014-7169和所有其他ShellShock攻击(4.1.13-6也是安全的,但使用了稍有不同的下游补丁,该补丁使用'()'而不是' %%'在环境变量中,并且在导入名称不是标识符的函数时过分限制。仍然有已知的解析器崩溃器(例如CVE-2014-7186,CVE-2014-7187和CVE-2014-6277) ),上游可能很快就会发布补丁;但是尽管这些问题可能会引发本地崩溃,但此构建无法通过任意变量内容利用它们来升级特权。制作环境变量,并且可以通过许多远程服务加以利用,因此强烈建议您升级...”

我还必须删除cygwin下载目录,然后才能通过setup-x86_64.exe拉动较新版本的bash。:(因此,请使用“ bash --version”进行验证,以确认您的补丁程序级别。

但是,我们可能还没有走出困境...

参考:http : //www.zdnet.com/the-shellshock-faq-heres-what-you-need-to-know-7000034219/

“ CVE-2014-6277和CVE-2014-6278:安全研究人员发现了另外两个错误。这两个错误应该具有任意命令注入的可能性,类似于原始的Bash错误。但是细节尚未公开,为了允许创建适当的补丁。”

CVE-2014-6277

原始发行日期:2014年9月27日

CVE-2014-6278

原始发行日期:2014年9月30日

叹。看来我们需要密切注意并继续修补BASH更长的时间。但是,在cygwin下,在bash 4.1.14-7上(及之后)可能会更好。

希望能有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.