Я пытаюсь обновить систему 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
возвращает только это одно местоположение.
Есть мысли относительно того, почему может возникнуть несоответствие версий?
В Red Hat обычно исправляют старые версии, а не напрямую обновляют до новейших, чтобы не нарушить работу каких-либо систем. Поскольку это всего лишь исправление уязвимости, оно гарантирует, что двоичный файл и весь пакет остаются обратно совместимыми.
Ты можешь использовать rpm
чтобы проверить журнал изменений пакета. Таким образом, вы всегда можете проверить, используете ли вы последнюю версию с обратным переносом.
# rpm -q --changelog <the rpm package that just got installed>
Оказывается, несмотря на несоответствие версий, обновление прошло успешно. Выполнение ввода образца завершается успешно там, где не было раньше:
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