Centos

Yum 報告更新了 bash 但二進制仍然報告舊版本

  • April 3, 2015

我正在嘗試更新 CentOS 5 系統以修補CVE-2014-6271 / RHSA-2014:1293-1中描述的 bash 漏洞,但遇到了問題。

在通過看似成功地更新 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只返回一個位置。

關於為什麼會出現版本差異的任何想法?

事實證明,儘管版本存在差異,但更新是成功的。在以前沒有成功的地方執行範例輸入:

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

在 Red Hat,他們通常會修補舊版本,而不是直接更新到最新版本,以免破壞任何系統。由於這只是一個漏洞更新檔,它確保二進製文件和整個包保持向後兼容。

您可以使用rpm檢查包的更改日誌。這樣,您始終可以驗證您是否使用的是最新的反向移植版本。

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

引用自:https://serverfault.com/questions/631070