0

我的 Bash shell 版本是 GNU bash,版本 4.1.2(2)-release (x86_64-redhat-linux-gnu)。

我使用以下命令测试了 shellshock 错误

x='() { :;}; echo VULNERABLE' bash -c :.

它没有打印回 VULNERABLE 消息。

我已经读到该错误存在于 bash 版本 4.3 ( https://www.youtube.com/watch?v=u1H12rMdLTg )

可能是什么原因。

4

1 回答 1

2

在 shellshock 被识别后的几天内,为主要发行版发布了带有补丁的更新包,这些补丁向后移植到本地支持的 bash 版本。(事实上​​,它们的发布相当匆忙,并且临时修复通常对导出的函数使用与最终版本不同的环境变量格式,这意味着在一个版本的 shell 中导出的函数通常不会被另一个作为子进程运行)。

仅仅因为上游没有合并最终补丁并不意味着您的操作系统或发行版没有推动向后移植——事实上,如果他们不这样做是非常不负责任的。

于 2017-02-01T15:43:37.617 回答