Критичная уязвимость в Bash

Уязвимости позволяют удаленному пользователю выполнить произвольный код на целевой системе.
Уязвимость существует из-за ошибки обработки входных данных при выполнении синтаксического анализа кода. Удаленный пользователь может выполнить произвольные команды на целевой системе.Как уязвимость может затронуть пользователя?

bash и ОС хранят список переменных окружения, которые описывают текущего пользователя, путь к приложениям на жестком диске и прочие функции. Создав переменную окружения с особой структурой, взломщик сможет выполнить произвольный код на ПК жертвы во время следующего запуска bash.

Создать переменную окружения можно следующим образом:

  •  Установить удаленное соединение через SSH и попробовать войти в систему. Подобрав специфический логин или имя хоста, можно создать переменную окружения со специфическими данными;
  • Вынудить пользователя создать переменную окружения самостоятельно;
  • Вынудить определенные программы задать нужное значение переменной окружения. К примеру, пользователь запустил web-сервер и скрипт, устанавливающий собственную переменную окружения. Даже несмотря на то, что работа скрипта не изменяет системные переменные окружения, ОС уже уязвима.

Установив собственную переменную окружения, хакеры смогут выполнить произвольный код на устройстве пользователя при следующем запуске bash. Ситуация может стать еще опаснее при использовании команды sudo –s, запускающей bash с корневыми правами.

Отметим, что некоторые программы используют bash для совершения собственных операций. Даже если пользователь не использует bash, его ПК уже может быть уязвим.

Для того чтобы проверить, уязвима ли система, следует выполнить в терминале команду:
env x='() { :;}; echo vulnerable' bash -c 'echo hello'

Если система пользователя защищена, bash вернет следующее сообщение:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

Если система пользователя уязвима, bash вернет следующее сообщение:
vulnerable
hello

Исправление
Разработчики Bash выпустили срочное исправление, устраняющее эту уязвимость. Всем пользователям ОС Linux (особенно дистрибутивов Ubuntu и Debian) рекомендуется как можно скорее загрузить последние обновления для данного программного продукта.

URL производителя: http://ftp.gnu.org/pub/gnu/bash/

Решение: Установите последнюю версию 4.3 с сайта производителя.

Ссылки: http://seclists.org/oss-sec/2014/q3/649

Источник: http://www.securitylab.ru/vulnerability/458762.php securitylab

 

От себя хочу добавить примечание : версия 4.3 от  26-Feb-2014 т.е. исправления данной уязвимости там еще нет.

Для того чтобы закрыть уязвимость необходимо еще наложить последний патч.

Вот небольшой скрипт для автоматизации процесса (запускать от рута)

 


mkdir /install
cd /install
wget http://ftp.gnu.org/pub/gnu/bash/bash-4.3.tar.gz
tar xzvf ./bash-4.3.tar.gz
cd ./bash-4.3
wget http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-025
patch -p0 < ./bash43-025
./configure
make && make install

Вы можете воспользоваться такси санкт-петербурга .

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Изображения должны быть включены!