Yum 报告已更新的 bash 但二进制文件仍报告旧版本

Yum 报告已更新的 bash 但二进制文件仍报告旧版本

我正在尝试更新 CentOS 5 系统,以修补CVE-2014-6271/RHSA-2014:1293-1,但遇到了一个问题。

通过看似成功的方式更新 bashyum update bash并重新启动服务器后,yum list bash列出的已安装版本已修补(3.2.33.e15.1),但/bin/bash --version显示的是 3.2.25(1)-release。

根据各方面情况(通过rpm -ql bash),二进制位置是正确的,并且find / -name bash只返回该一个位置。

对于为什么会发生版本差异,您有什么想法吗?

答案1

事实证明,尽管存在版本差异,但更新还是成功了。运行示例输入成功了,而之前却没有成功:

user [~]# 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'
this is a test

答案2

在 Red Hat,他们通常会修补旧版本,而不是直接更新到最新版本,以免破坏任何系统。由于这只是一个漏洞补丁,因此它确保二进制文件和整个软件包保持向后兼容。

您可以使用它rpm来检查软件包的更新日志。这样您就可以随时验证自己是否正在使用最新的反向移植版本。

# rpm -q --changelog <the rpm package that just got installed>

相关内容