[#] Типичный Линуксоид
Новостной_робот(mira, 1) — All
2014-09-24 23:53:01


[ http://cs624225.vk.me/v624225222/2156/QncB_2-VJ3g.jpg ]( http://vk.com/wall-33025660_103493?z=photo-33025660_339932924%2Fwall-33025660_103493 ) Ссылка: [ OpenNews: Критическая уязвимость в bash, которая может привести к удалённому выполнению кода ]( http://www.opennet.ru/opennews/art.shtml?num=40667 ) [ http://cs620924.vk.me/v620924950/1d970/yLgEGsb5lM8.jpg ]( http://www.opennet.ru/opennews/art.shtml?num=40667 ) OpenNews: Критическая уязвимость в bash, которая может привести к удалённому выполнению кодаКритическая уязвимость в bash, которая может привести к удалённому запуску командВ командном интерпретаторе Bash выявлена опасная уязвимость (CVE-2014-6271), позволяющая организовать выполнение кода в контексте другого сеанса bash. Проблема вызвана недоработкой в организации экспорта переменных окружения и shell-функций в другие экземпляры bash, что приводит к выполнению блоков кода из специально оформленных переменных окружения, полученных от других процессов.Во многих типовых конфигурация уязвимость может быть эксплуатирована по сети, если bash вызывается в качестве shell-интерпретатора. Потенциально может быть атаковано любое приложение которые запускает bash или скрипты на bash с установкой переменных окружения на основе внешних данных (манипуляция с подобными suid-программами может привести к повышению привилегий в системе). В том числе могут быть атакованы CGI-скрипты (написанные на bash или в которых вызывается bash), bash-прослойка для FastCGI, dhclient, CUPS и конфигурации OpenSSH.Текущие версии bash используют переменные окружения для экспорта функций, при этом если в переменной содержится "() {", то её содержимое воспринимается как функция. Из-за ошибки, после завершения тела функции, обработка продолжается и после символа "}". Если после функции указана команда, то bash выполнит и её (например, "VAR=() { ignored; }; /bin/id"). Уязвимость проявляется для любых переменных окружения, имя не имеет значение.В случае с OpenSSH атака может быть проведена через подстановку переменной окружения SSH_ORIGINAL_COMMAND: ssh -o 'rsaauthentication yes' 0 '() { ignored; }; /usr/bin/id' После выполнения указанной команды в переменную окружения будет скопирована в том числе строка '() { ignored; }; /usr/bin/id', которая инициирует выполнение пустой функции и запуск команды /usr/bin/id на стороне удалённой системы. Аналогичные атаки могут быть проведены через переменную окружения TERM или при запуске CGI-скриптов через переменные REMOTE_USER, HTTP_CUSTOM, QUERY_STRING и т.п. (например, можно передать значение "() {" вместо имени пользователя или в теле HTTP-заголовка "Custom:").Для устранения проблемы подготовлена серия патчей. Обновления пакетов с bash уже выпущены для Debian, Ubuntu, RHEL, CentOS. Оценить появление обновлений для других систем можно на следующих страницах: Fedora, openSUSE, SLES, Slackware, Gentoo, OpenBSD, NetBSD, FreeBSD.Для проверки системы на наличие уязвимости можно выполнить команду: env x='() { :;}; echo vulnerable' bash -c "echo this is a test"В качестве обходного временного пути защиты может быть применена блокировка по маске через iptables: iptables using -m string —hex-string '|28 29 20 7B|'
Ссылка: http://vk.com/wall-33025660_103493