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

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

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

CYGWIN_NT-6.1 MYHOSTNAME 1.7.30(0.272/5/3) 2014-05-23 10:36 x86_64 Cygwin我在 Windows 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并通过向导重新安装 shell 下显示的 bash 来重新安装时,似乎开始下载所有内容。更新应该很快,但开始下载超过 15 分钟,然后我取消了它。我查看了https://cygwin.com网站和其他论坛,但到目前为止还没有针对此漏洞的任何具体更新。

答案1

据官方介绍Cygwin 安装页面:

安装和更新适用于 64 位版本 Windows 的 Cygwin

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

我有预感这个 bash 会受到影响,所以在您发布问题之前大约 15 分钟,我按照设置页面的指示进行了操作。


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

更新了 Bash - Cygwin

请注意,我不知道此更新是否可以防止已发现的其他漏洞,因此请在接下来的几天内按照上述过程进行操作,直到此问题完全修复。

答案2

这看起来像是为 cygwin bash 修补了 shellshock 的版本(受其他错误变体/补丁的影响。):

日期: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)。 ),上游可能很快就会发布补丁;但是,虽然这些问题可能会触发本地崩溃,但如果未修补,则无法利用它们通过任意变量内容升级权限,但 bash 的易受攻击版本可能允许通过特殊方式执行任意代码。精心设计的环境变量,并且可以通过许多远程服务进行利用,因此强烈建议您升级......”

我还必须先删除 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。

希望有帮助。

相关内容