Уязвимость в bash и множественные уязвимости в APT

Опубликованы подробности уязвимости CVE-2014–6271 в bash, которая позволяет злоумышленнику произвести удалённое выполнение кода.

Уязвимость возможна благодаря одной из особенностей bash — использования переменных окружения для экспорта функций (если в переменной содержится »() {», то её содержимое будет интерпретировано как функция). Проблема заключается в том, что обработка продолжается даже после символа »}», поэтому, если добавить любую команду — она будет выполнена. Атаке подвержены sshd, Git и Subversion (при определённых обстоятельствах), Apache с mod_cgi или mod_cgid (если скрипты CGI написаны на bash или вызывают bash-скрипты), клиенты DHCP (если они вызывают скрипты для настройки системы), CUPS и вообще любые приложения, которые запускают bash (или bash-скрипты) и могут устанавливать переменные окружения на основе данных, полученных извне.

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

env x='() { :;}; echo vulnerable' bash -c «echo this is a test» Если система уязвима, в консоль будут выведены строки «vulnerable» и «this is a test», а при отсутствии уязвимости, сообщение об ошибке вида bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x' this is a testОбновление с исправлением уязвимости уже выпущено для некоторых популярных дистрибутивов.

Кроме того, объявлено об исправлении множественных уязвимостей в пакетном менеджере APT. Уязвимости CVE-2014–0487, CVE-2014–0490, CVE-2014–0488 и CVE-2014–0489 позволяют обойти проверку цифровых подписей пакетов и репозиториев, а уязвимость CVE-2014–6273 — выполнение произвольного кода, отправленного злоумышленником, вмешавшимся в трафик.

 apt, bash, уязвимости, уязвимость

©  Linux.org.ru