我想了解如何在 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。您可以通过以下屏幕截图看到您受到保护的证据:
请注意,我不知道此更新是否可以防止已发现的其他漏洞,因此请在接下来的几天内按照上述过程进行操作,直到此问题完全修复。
答案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。
希望有帮助。