Очередная уязвимость. Всем патчиться :)
===
Эту уязвимость по возможным последствиям уже сравнивают с Heartbleed - с учетом того, сколько времени она существует и какое количество софта затрагивает. Затронуты версии GNU Bash с 1.14 (июль 1994) по 4.3, под раздачу попал практически любой юникс, от RedHat и FreeBSD до Mac OS и линуксов, встроенных в домашние роутеры.
===
+(3) ну и, если не ошибаюсь в переводе первоисточника - openssh, позволяет запустить любую команду, без авторизации под юзером, у которого шеллом баш является
Уязвимость допускает удалённое исполнение кода на компьютере, где установлен 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, выложил официальные патчи.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший