«Shell Shock» – уязвимость командной строки в OS X, которая может быть серьезнее Heartbleed

Обновление: Apple выпустила заявление для iMore по этому вопросу, заявив, что большинство пользователей Mac уже защищены, если только они не настроили «расширенные службы UNIX». Готовится обновление для защиты этих пользователей.

Уязвимость в Bash, программе, используемой для управления командной оболочкой во многих вариантах Unix, обнаружена в OS X – некоторые исследователи безопасности говорят, что эта уязвимость может представлять большую угрозу, чем уязвимость Heartbleed, обнаруженная в прошлом году (которая затронула многие системы Unix, но не OS X).

Уязвимость Bash, которую некоторые называют «Shell Shock», позволяет злоумышленнику удаленно выполнять широкий спектр вредоносного кода. Она была обнаружена исследователями безопасности из RedHat и подробно описана в блоге.

Существуют противоречивые сведения о степени риска для пользователей Mac… 

В ветке Stack Exchange один пользователь утверждает, что, хотя Macs технически уязвимы, большинство из них вряд ли подвергнутся риску на практике.

Да, вы технически уязвимы. Но реальность такова, что если вы не разрешаете удаленный доступ через SSH или веб-сервер, который запускает серверное скриптование, вы не подвергаетесь риску. Вы действительно уязвимы только в том случае, если кто-то, кого вы не знаете, может удаленно получить доступ к вашей машине и сделать это таким образом, чтобы можно было выполнить команду Bash.

Таким образом, эта проблема в основном касается системных администраторов Mac OS X и серверов Unix/Linux, открытых для мира, а не обычных пользователей, которые не включают общий доступ SSH.

Однако другой пользователь описывает эту точку зрения как «наивную».

… или у вас запущено приложение, прослушивающее открытый порт, который позволяет выполнять вызовы RPC, которые в конечном итоге выполняют команды оболочки. Это может быть что угодно, поскольку существует множество стандартных приложений, выполняющих RPC. Я думаю, что этот ответ очень наивен. Очень легко «запустить веб-сервер» непреднамеренно в процессе запуска приложения, которое выполняет какую-то клиент-серверную операцию.

Наличие уязвимости можно подтвердить, открыв окно Терминала и вставив следующую команду:

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

Ответ «vulnerable» демонстрирует, что эксплойт работает, в то время как предупреждение Bash будет означать, что код не сработал.

Несколько вариантов Linux уже имеют доступные исправления.