top
logo


Критическая уязвимость в bash, которая может привести к удалённому запуску команд (дополнено) PDF Печать E-mail
Автор: adm   
24.09.14 17:23

В командном интерпретаторе Bash выявлена опасная уязвимость (CVE-2014-6271), позволяющая организовать выполнение кода в контексте другого сеанса bash. Проблема вызвана недоработкой в организации экспорта переменных окружения и shell-функций в другие экземпляры bash, что приводит к выполнению блоков кода из специально оформленных переменных окружения, полученных от других процессов.

Во многих типовых конфигурациях уязвимость может быть эксплуатирована по сети, если bash вызывается в качестве shell-интерпретатора. Потенциально может быть атаковано любое приложение которые запускает bash или скрипты на bash с установкой переменных окружения на основе внешних данных (манипуляция с подобными suid-программами может привести к повышению привилегий в системе). В том числе могут быть атакованы CGI-скрипты (написанные на bash или в которых вызывается bash), 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|'

Дополнение 1: Выявлены методы (CVE-2014-7169) обхода патча, представленного вчера для устранения критической уязвимости в Bash. Для решения проблемы подготовлен новый патч. В дистрибутивах проблема пока остаётся неисправленной. Для проверки на наличие обходного пути эксплуатации уязвимости можно использовать команду (успешно срабатывает после установки вчерашнего обновления bash в Ubuntu и Debian):


   env X='() { (a)=>\' sh -c "echo date"; cat echo

Дополнение 2: Проведена попытка массового сканирования серверов на предмет наличия уязвимости в Bash. Первый же эксперимент выявил около 3 тысяч хостов, подверженных уязвимости в Bash при запросе корневой страницы по IP, без заполнения заголовка Host (при полноценном сканировании с указанием корректных имён домена таких сайтов может оказаться в 50 раз больше). Организация целевых атак на конкретные CGI-скрипты, например, на /cgi-sys/defaultwebpage.cgi из CPanel позволяет как минимум в 10 раз расширить область действия атаки. Так как уязвимость очень проста в эксплуатации не исключается появление в ближайшее время червей, нацеленных на поражение конкретных проблемных CGI-скриптов.

  1. Главная ссылка к новости (http://www.openwall.com/lists/oss-securi...)
Тип: Интересно / Проблемы безопасности
Ключевые слова: bash, shell, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
id=adv>
  1.1, Аноним, 20:49, 24/09/2014 [ответить] [смотреть все] –1 +/
 
  2.3, Аноним, 21:07, 24/09/2014 [^] [ответить] [смотреть все] [показать ветку]  +4 +/
 
  3.7, Crazy Alex, 21:15, 24/09/2014 [^] [ответить] [смотреть все]  +/
 
  4.24, анонимус, 22:14, 24/09/2014 [^] [ответить] [смотреть все]  +1 +/
 
  5.32, Evergreen, 22:43, 24/09/2014 [^] [ответить] [смотреть все]  –1 +/
Slackware 14 1 -- пишет, что уязвима... весь текст скрыт [показать]
 
  6.43, Аноним, 23:34, 24/09/2014 [^] [ответить] [смотреть все]  +/
В убунтах приехал апдейт Оперативно ... весь текст скрыт [показать]
 
2.31, qqq, 22:40, 24/09/2014 [^] [ответить] [смотреть все] [показать ветку]  –4 +/
теперь в новой упаковке и с обновленным вкусом Дырявый баш буквально преобра... весь текст скрыт [показать] [показать ветку]
 

1.2, Аноним, 21:03, 24/09/2014 [ответить] [смотреть все]  –1 +/
ОПА а в щлюзах на лине наверное тоже такое прокатит на сколько я понял это ... весь текст скрыт [показать]
 
  2.4, ruata, 21:08, 24/09/2014 [^] [ответить] [смотреть все] [показать ветку]  +5 +/
 
  3.25, Аноним, 22:14, 24/09/2014 [^] [ответить] [смотреть все]  –1 +/
ну это смотря какие брать а если возьмём IDECO или Kerio ... весь текст скрыт [показать]
 
2.10, byu, 21:19, 24/09/2014 [^] [ответить] [смотреть все] [показать ветку]  +/ 
  3.14, Аноним, 21:29, 24/09/2014 [^] [ответить] [смотреть все]  –2 +/
у нас bash и OpenSSH полноценный ... весь текст скрыт [показать]
 
  4.71, Аноним, 09:22, 25/09/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Нашли чему радоваться ... весь текст скрыт [показать]
 
1.5, Xasd, 21:09, 24/09/2014 [ответить] [смотреть все]  +/ классная уязвимость!
  1.6, Аноним, 21:12, 24/09/2014 [ответить] [смотреть все]  +2 +/  1.8, онаним, 21:15, 24/09/2014 [ответить] [смотреть все]  +4 +/ Да уж. Понятия "безопасность" и "защищенность" в мире ИТ довольно условны. А сколько еще таких уязвимостей? И я почему-то не уверен, что кто-то не знал об их существовании задолго до уведомления общественности.
 
  2.11, Xasd, 21:20, 24/09/2014 [^] [ответить] [смотреть все] [показать ветку]  –5 +/
типичное заблуждение людей люди склонны это врождённая черта людей думать буд... весь текст скрыт [показать] [показать ветку]
 
  3.16, онаним, 21:34, 24/09/2014 [^] [ответить] [смотреть все]  +/
а он вам сказал ... весь текст скрыт [показать]
 
  4.17, Xasd, 21:37, 24/09/2014 [^] [ответить] [смотреть все]  –3 +/
знал но не использовал и ни кому не говорил хахаха ну вы как дети маленькие ... весь текст скрыт [показать]
 
  5.18, онаним, 21:44, 24/09/2014 [^] [ответить] [смотреть все]  +5 +/
Если вы взломали что-либо и поимели доход с данного мероприятия, зачем вам объяв... весь текст скрыт [показать]
 
  6.19, Xasd, 21:54, 24/09/2014 [^] [ответить] [смотреть все]  –4 +/
зачем объяснять если ты крутишься в научно-инженерном сообществе -- то там прин... весь текст скрыт [показать]
 
  7.26, онаним, 22:25, 24/09/2014 [^] [ответить] [смотреть все]  +/
Меньше знаешь - лучше спишь ... весь текст скрыт [показать]
 
7.28, Аноним, 22:31, 24/09/2014 [^] [ответить] [смотреть все]  +/
gt оверквотинг удален Справедливо, но немного сомнительно по той причине чт... весь текст скрыт [показать]
 7.34, metallica, 22:49, 24/09/2014 [^] [ответить] [смотреть все]  +5 +/
Какой же бред то несёте Сможешь, не сможешь, определяется врождёными умственным... весь текст скрыт [показать]
 
  8.51, Аноним, 00:27, 25/09/2014 [^] [ответить] [смотреть все]  +/
 
7.56, Michael Shigorin, 02:06, 25/09/2014 [^] [ответить] [смотреть все]  –2 +/ > зачем объяснять:

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

rtfm://"black hat" и не порите больше чушь с уверенным видом, когда ничего ВООБЩЕ не понимаете в обсуждаемом вопросе.  Если очень неймётся -- облепливайте "имхо" со всех сторон, чтоб кто-нить ещё более юный не купился с разбегу.

 
  8.61, Xasd, 03:57, 25/09/2014 [^] [ответить] [смотреть все]  +/
ну что же я твоего imho не вижу? :) в этом твоём сообщении
 
  9.62, Michael Shigorin, 04:00, 25/09/2014 [^] [ответить] [смотреть все]  –1 +/
> ну что же я твоего imho не вижу? :) в этом твоём сообщении

Потому что я _знаю_, о чём говорю, а не делаю допущения.  Первые ключевые слова указаны.

image
 
  10.64, Xasd, 04:06, 25/09/2014 [^] [ответить] [смотреть все]  –1 +/
ды, блин.. чы чё такой буйный-то?

расслабся же! хоть чуть чуть :)

на меня вот щаз орёшь.. на мать свою орал (прочитал тут https://2ch.hk/s/res/1046617.html , но не знаю правда ли это )

какое именно выступление black hat мне надо глянуть чтобы понять о том что ты пытаешься мне сказать?

 
  11.66, Michael Shigorin, 05:58, 25/09/2014 [^] [ответить] [смотреть все]  +/
> на меня вот щаз орёшь.. на мать свою орал

Вы готовы подписаться под этим утверждением и отвечать за него?

> какое именно выступление black hat мне надо глянуть

Не выступление.  А хотя бы немножко о том, чем такой контингент отличается от "серых" коллег.

В #34 изложено грубовато, но верно.

image
 
2.30, Аноним, 22:37, 24/09/2014 [^] [ответить] [смотреть все] [показать ветку]  +/
Согласен, даже если брать - супер сборку для безопасности , то всегда когда ниб... весь текст скрыт [показать] [показать ветку]
 
1.12, Нанобот, 21:27, 24/09/2014 [ответить] [смотреть все]  +3 +/ проверил на bash 2.05 (десятилетней давности) - работает
  1.21, Аноним, 22:07, 24/09/2014 [ответить] [смотреть все]  +/
--- Package bash i386 0 3 2-33 el5 1 set to be updated... весь текст скрыт [показать]
  1.35, metallica, 22:52, 24/09/2014 [ответить] [смотреть все]  +/ Интересно сколько уверенных в суперсекурности своего openbsd, жили
все эти годы с этой дырой на своём суперсекурном сервере на опенке?
 
  2.37, aurved, 23:12, 24/09/2014 [^] [ответить] [смотреть все] [показать ветку]  +1 +/
а в openbsd по-умолчанию стоит bash и он по-умолчанию предлагается в качестве s... весь текст скрыт [показать] [показать ветку]
 
  3.50, тигар, 00:22, 25/09/2014 [^] [ответить] [смотреть все]  –4 +/
есть идиоты, которые ставят bash сами, а не оно приходит депендами в комплекте к... весь текст скрыт [показать]
 
2.68, бедный буратино, 07:07, 25/09/2014 [^] [ответить] [смотреть все] [показать ветку]  +/ И сколько же? Такие заявления нужно начинать с примеров, а не с голословных обвинений.
 2.79, Нанобот, 10:24, 25/09/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  +/ думаю, от двух до трёх человек. т.е. ~80% пользователей openbsd
 
1.39, Аноним, 23:19, 24/09/2014 [ответить] [смотреть все]  +/
Не, ну конечно экранирование в шелле всегда вымораживало Но чтоб настолько ... весь текст скрыт [показать]
  1.44, Аноним, 23:35, 24/09/2014 [ответить] [смотреть все]  +/
Звучит эпично, но где, собственно, уязвимость Если я могу выполнить любую ком... весь текст скрыт [показать]
 
  2.48, Xasd, 00:07, 25/09/2014 [^] [ответить] [смотреть все] [показать ветку]  +1 +/
часто бывает ситуация когда ты можешь повлиять на переменные окружения ты делае... весь текст скрыт [показать] [показать ветку]
 
  3.57, Аноним, 02:19, 25/09/2014 [^] [ответить] [смотреть все]  +/
Что-то ни одна ситуация не приходит в голову Можно хоть какой-нибудь пример ... весь текст скрыт [показать]
 
  4.84, Andrey Mitrofanov, 10:44, 25/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
> Что-то ни одна ситуация не приходит в голову... Можно хоть какой-нибудь пример?

Навирху же! =Solar Disigner написал про обход прибитого к ключу command=.

Ждём продолжения в Новостях, конечно.

 
3.59, Аноним, 02:46, 25/09/2014 [^] [ответить] [смотреть все]  –1 +/
Надо ещё и чтобы с этими изменёнными переменными окружения ещё и bash бы стартан... весь текст скрыт [показать]
 
1.45, Аноним, 23:37, 24/09/2014 [ответить] [смотреть все]  +/
Мде OS X 10 9 x таже беда ... весь текст скрыт [показать]
  1.46, Аноним, 23:45, 24/09/2014 [ответить] [смотреть все]  +/
bash уязвим, а вот через ssh не получилось даже себя запывнить ... весь текст скрыт [показать]
  1.47, asavah, 00:02, 25/09/2014 [ответить] [смотреть все]  +/ ктулху благослови unattended-upgrades в дебиановых
полез проверять на всякий есть ли дырко на серверах, а они уже все пропатченные и хвостиком виляют )
 
  2.49, Аноним, 00:11, 25/09/2014 [^] [ответить] [смотреть все] [показать ветку]  +/
А все запущенные bash перезапустились Я так тоже обновлися от heartbleed автома... весь текст скрыт [показать] [показать ветку]
 
  3.52, Stax, 00:38, 25/09/2014 [^] [ответить] [смотреть все]  +1 +/
А в уже запущенном bash эту уязвимость не выйдет эксплуатировать. Только в новом сабшелле. Так что обновления достаточно, перезапускать ничего не нужно.
 
3.58, Etch, 02:22, 25/09/2014 [^] [ответить] [смотреть все]  +1 +/ unattended-upgrades умеет перезапускать сервер после обновлений при необходимости. И в случе heartbleed он это сделал, если был настроен на это.
 
1.55, emg81, 01:37, 25/09/2014 [ответить] [смотреть все]  +/ а куда писать-то тест?
в любую открытую консоль? что-то не работает.
  1.67, бедный буратино, 07:05, 25/09/2014 [ответить] [смотреть все]  +/ в OpenBSD - ksh.
  1.69, Адекват, 07:41, 25/09/2014 [ответить] [смотреть все]  +1 +/ Вы все идиоты, чтобы применить данную "уязвимость" на удаленной машине, на ней нужно сначала авторизоваться, попробуйте сами:

env x='() { :;}; echo *'  bash -c "ssh openssh.com"

Это не уязвимость, я не знаю что это, это какая-то хе...фигня, нет разницы между командам
env x='() { :;}; echo *'  bash -c "ssh openssh.com"
и
echo *
echo * - выводит список файлов в текущей директории.

То есть чтобы заюзать данную багу, нужно:
1. авторизоваться
2. прменять ее можно только к процессам с тем же id что и у вас.

 
  2.70, Аноним, 08:44, 25/09/2014 [^] [ответить] [смотреть все] [показать ветку]  +/
По ssh не только пользователи работают, но и удалённо запускаются разные агенты,... весь текст скрыт [показать] [показать ветку]
 
    4.80, Andrey Mitrofanov, 10:30, 25/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
>> По ssh не только пользователи работают, но и удалённо запускаются разные агенты,
>> конфигурации, мониторинга и бэкапа.
> Без авторизации ?

Без пароля по незашифрованному ключу, с _жёстко заланной (command= для ключа) командой. А тут опа -- досвидания "_жёстко заланная". Провелил -- на моём ssh входе на el6 исполнил [вместо того скрипта на bash-е] этот самый id...

 
3.77, Moomintroll, 10:06, 25/09/2014 [^] [ответить] [смотреть все]    [к модератору]  +1 +/ > По ssh не только пользователи работают, но и удалённо запускаются разные агенты, конфигурации, мониторинга и бэкапа.

man sshd_config:

AcceptEnv

The default is not to accept any environment variables.

 
1.74, Аноним, 09:45, 25/09/2014 [ответить] [смотреть все]     [к модератору]  +/
Я не понял, они нашли bashrc ... весь текст скрыт [показать]
  1.75, Аноним, 09:52, 25/09/2014 [ответить] [смотреть все]     [к модератору]  –1 +/
GNU во всей красе Не, только zsh, только подальше от GNU ... весь текст скрыт [показать]
 
  2.76, Я, 10:04, 25/09/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  +/
env x='() { :;}; echo vulnerable'  bash -c "echo this is a test"
bash: внимание: x: ignoring function definition attempt
bash: ошибка при импортировании определения функции'x'
this is a test
root@ubuntu:~# uname -a
Linux ubuntu 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:45 UTC 2014 i686 athlon i686 GNU/Linux
 
1.78, Сергей, 10:16, 25/09/2014 [ответить] [смотреть все]    [к модератору]  +/ Никогда не использовал bash, точнее пытался, но изучить возможности стандартного sh оказалось быстрее и при применение его оказалось, что он покрывает нужное мне на 100%
  1.81, Аноним, 10:37, 25/09/2014 [ответить] [смотреть все]     [к модератору]  +/
Я реально не понимаю эту новость Если я верно понял оригинальное описание уязви... весь текст скрыт [показать]
  1.85, Аноним, 11:12, 25/09/2014 [ответить] [смотреть все]     [к модератору]  +/
Может имелось виду Вместо env X a sh -c echo date cat echo Это ... весь текст скрыт [показать]
    2.88, Xaionaro, 11:50, 25/09/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  +/ Да даже без этого, идея всё равно обречена, ибо всякие https-ы с ssh-ами трафик шифруют ;)
image  
Ваш комментарий  

Read more http://www.opennet.ru/opennews/art.shtml?num=40667

 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика