Несколько часов назад в списке рассылки SecLists сообщили о критической уязвимости в командной оболочке bash, которая установлена почти на всех популярных дистрибутивах Linux.

Уязвимость допускает удалённое исполнение кода на компьютере, где установлен bash. Это связано с некорректной обработкой переменных окружения и определений функций. В текущих версиях bash переменная окружения именуется так же, как функция, а определение функции начинается со знаков “() {”. Уязвимость связана с тем, что bash не останавливается после обработки определения функции, а продолжает парсить код и выполнять команды оболочки, которые следуют дальше. Например, в переменной окружения

VAR=() { ignored; }; /bin/id

будет исполнен /bin/id при импорте окружения в процесс bash.

Для проверки у себя можно запустить и такой код:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

Таким образом, переменную окружения с произвольным именем можно использовать как носителя для доставки на компьютер жертвы нужных команд. В данный момент наиболее опасным применением этого бага считают HTTP-запросы к скриптам CGI.

Уязвимости присвоен идентификатор CVE-2014-6271.

Два часа назад Чет Рэми (Chet Ramey), официальный мейнтейнер GNU bash, выложил официальные патчи.

http://ftp.gnu.org/pub/gnu/bash/bash-3.0-patches/bash30-017
http://ftp.gnu.org/pub/gnu/bash/bash-3.1-patches/bash31-018
http://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052
http://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-039
http://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-012
http://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-048
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-025

Уязвимость обнаружил несколько дней назад Стефан Чазелас (Stephane Chazelas).

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    10 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии