我在桌面上运行Fedora 20。当我在bash中看到有关漏洞的建议时,我检查了我的系统,结果发现它很脆弱。今天,我更新了我的系统,并安装了新版本的bash。我期待重新启动bash以使更改生效。但令我惊讶的是,更新过程以某种方式修复了运行 bash的副本。
如何?
日志: 显示同一命令的2次调用。在两者之间,从不同的xterm窗口升级系统。
bash$ env x='() { :;}; echo vulnerable' bash -c "echo This is a test"
vulnerable
This is a test
bash$ env x='() { :;}; echo vulnerable' bash -c "echo This is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
答案 0 :(得分:2)
如果将命令拆分为两个,则更清楚:
env x='() { :;}; echo vulnerable'
bash -c "echo This is a test"
在检查错误时,您正在运行bash
的新实例,因此它使用更新的代码。您应确保重新启动所有炮弹,以确保您的安全。