Я пытаюсь обновить систему CentOS 5, чтобы исправить уязвимость удара, описанную в CVE-2014-6271 / RHSA-2014:1293-1, но сталкиваюсь с проблемой.
После по-видимому успешно обновления удара через yum update bash
и перезапуск сервера, yum list bash
перечисляет установленную версию, как исправлено (3.2.33.e15.1), но /bin/bash --version
отображается 3.2.25 (1) - выпуск.
Судя по всему, (через 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 <только что установленный пакет rpm>