×

Восстановление пароля

В Linux и Unix найдена масштабная многолетняя «дыра»

Специалисты по безопасности обнаружили уязвимость в командной оболочке Bash, масштаб которой превышает масштаб обнаруженной в апреле уязвимости Heartbleed в протоколе шифрования OpenSSL.

Новая уязвимость в командной оболочке Bash существует много лет и может привести к более серьезным последствиям по сравнению с уязвимостью Heartbleed, считает Роберт Грэм (Robert Graham) из консалтинговой компании Errata Security.

Командный интерпретатор Bash используется многими серверными компонентами и программами в своей работе системами на основе ядра Linux и другими Unix-подобными ОС. Уязвимость в Bash была обнаружена специалистами из компании Red Hat, занимающиеся выпуском дистрибутивов Linux.

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

Например, в выражении env x="() { :;}; echo vulnerable" bash -c "echo this is a test" видно, что переменной x присваивается значение () { :;}; echo vulnerable, в котором содержится другая команда — вывода на экран текста vulnerable. Если тестируемая операционная система содержит уязвимость, о которой идет речь, в ответ на исполнение команды на экране появится слово vulnerable (текст может быть произвольным). Если уязвимость была устранена, появится сообщение об ошибке в синтаксисе.

Таким образом, пользователи могут легко проверить, есть ли в их системе уязвимость, просто запустив терминал и введя выражение env x="() { :;}; echo vulnerable" bash -c "echo this is a test". Это также могут сделать пользователи Unix-совместимой операционной системы Apple OS X, которая также содержит интерпретатор Bash.

При действующей в системе уязвимости терминал возвращает сообщения "vulnerable" и "this is a test", а если баг устранен, то "bash: warning: x: ignoring function definition attempt", "bash: error importing function definition for `x"" и "this is a test".

Тест в последней актуальной версии OS X 10.9.5 Mavericks показал, что уязвимость присутствует.

«Серьезность этой уязвимости заключается в том, что командную оболочку Bash использует огромное количество различных программ. По этой причине ситуация аналогична уязвимости Heartbleed в популярном протоколе OpenSSL», — пояснил Роберт Грэм. «При этом, в отличие от Heartbleed, касающейся определенной версии OpenSSL, уязвимость в Bash существует очень долгое время. Это означает, что она присутствует в просто огромном количестве устройств, подключенных к сети. Количество систем, которым необходим патч и для которых этот патч никогда не появится, намного превышает количество систем в случае с Heartbleed», — добавил эксперт.

По аналогии с Heartbleed уязвимости в Bash также было дано кодовое имя — ShellShock.

Уязвимость в протоколе шифрования OpenSSL, получившая название Heartbleed, была обнаружена в апреле 2014 г. специалистами компаний Codenomicon и Google. Она позволяла хакерам получать доступ к содержимому оперативной памяти серверов, в которой могли находиться персональные данные пользователей. Уязвимость стала самой масштабной в истории, так как затрагивала около 500 тыс. веб-сайтов по всему миру. Как пишет Ars Technica, некоторые компании, включая саму Red Hat, уже выпустили патчи, устраняющие ошибку Shellshock. Обновления также доступны для некоторых версий CentOS, Ubuntu и Debian.

Источник: CNews.ru