Yum сообщает об обновлении bash, но двоичный файл сообщает о старой версии
Я пытаюсь обновить систему CentOS 5 для исправления уязвимости bash, описанной в CVE-2014-6271 / RHSA-2014: 1293-1, но столкнулся с проблемой.
После, казалось бы, успешного обновления Bash через yum update bash
и перезапустить сервер, yum list bash
отображает установленную версию как исправленную (3.2.33.e15.1), но /bin/bash --version
отображает 3.2.25(1)-релиз.
По всем счетам (через rpm -ql bash
), двоичное местоположение является правильным и find / -name bash
возвращает только это одно местоположение.
Любые мысли о том, почему может возникнуть расхождение версии?
2 ответа
Оказывается, несмотря на несоответствие версий, обновление прошло успешно. Выполнение вводного примера успешно выполняется там, где его раньше не было:
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>