LINUX.ORG.RU

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

 , ,


3

9

Опубликованы подробности уязвимости 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 - выполнение произвольного кода, отправленного злоумышленником, вмешавшимся в трафик.

anonymous

Проверено: JB ()

В openSUSE пофикшено:)

darkest@linux-v4de:~> env x='() { :;}; echo vulnerable' bash -c "echo Do not fuck with me"
bash: попередження: x: ignoring function definition attempt
bash: помилка імпортування означення функції `x'
Do not fuck with me
darkest@linux-v4de:~>
Lembrg
()

в Дебиане-тестинге умвр. обнвлс, баш нифига не обновляется:

>14:52:51 268 ~$ apt-cache policy bash
bash:
  Установлен: 4.3-9
  Кандидат:   4.3-9
  Таблица версий:
     4.3-9.1 0
         50 ftp://ftp.ru.debian.org/debian/ unstable/main amd64 Packages
 *** 4.3-9 0
        990 ftp://ftp.ru.debian.org/debian/ testing/main amd64 Packages
        100 /var/lib/dpkg/status
     4.2+dfsg-0.1+deb7u1 0
        500 http://security.debian.org/ wheezy/updates/main amd64 Packages
     4.2+dfsg-0.1 0
        500 ftp://ftp.ru.debian.org/debian/ wheezy/main amd64 Packages
     4.1-3 0
        500 ftp://ftp.ru.debian.org/debian/ squeeze/main amd64 Packages
>14:55:39 268 ~$ cat /etc/apt/sources.list | grep -vE "^#|^$"
deb [arch=amd64] ftp://ftp.ru.debian.org/debian/ testing main
deb [arch=amd64] http://security.debian.org/ testing/updates main
deb [arch=amd64] ftp://ftp.ru.debian.org/debian/ wheezy main
deb [arch=amd64] http://security.debian.org/ wheezy/updates main
deb [arch=amd64] ftp://ftp.ru.debian.org/debian/ squeeze main
deb [arch=amd64] http://security.debian.org/ squeeze/updates main
deb [arch=amd64] ftp://ftp.ru.debian.org/debian-multimedia/ wheezy main

PerdunJamesBond
()

А вот обход патча в openSUSE не пофикшен :(

Lembrg
()

Говорили вам, что bash — говно, так нет, продолжают жрать.

anonymous
()
Ответ на: комментарий от vitalif

Уже выпущенный для баша фикс уже успешно обошли)

Боюсь что да...

env X='() { (a)=>\' bash -c "echo date"; cat echo
bash: X: строка 1: ошибка синтаксиса около неожиданной лексемы `='
bash: X: строка 1: `'
bash: ошибка при импортировании определения функции`X'
Чт. сент. 25 15:24:22 MSK 2014
I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Twissel

А ты без этого каждый день не обновляешься что ли?

anonymous
()

Так в чем ШОК этой уязвимости? как использовать ее, имея локальный непривилегированный доступ и не имея оного? Если у меня нет скриптов на bash, а обычный LAMP / LEMP сервер без панелей.

Bers666 ★★★★★
()
Ответ на: комментарий от Bers666

Так в чем ШОК этой уязвимости?

Начнем с того, что ей как минимум 5 лет.

как использовать ее, имея локальный непривилегированный доступ и не имея оного?

Выше ссылка на github.

tailgunner ★★★★★
()
Ответ на: комментарий от Bers666

Осиль уже ссылки.

Шок в том, что прямо сейчас собираются новые ботнеты. Когда они будут DDoSить твои серверы — ты будешь рассказывать о шоке.

x3al ★★★★★
()
Последнее исправление: x3al (всего исправлений: 1)
Ответ на: комментарий от Tactile

Качаем и выполняем

А за такие советы можно и по пальцам получить.

anonymous
()
Ответ на: комментарий от tailgunner

как использовать ее, имея локальный непривилегированный доступ и не имея оного?

Выше ссылка на github.


вот эта https://gist.github.com/anonymous/929d622f3b36b00c0be1 ?
И что там? Ну пришел запрос со странными http заголовками, в надежде что они проинтерпретируются. Повторяю вопрос - как заюзать уязвимость то если у меня LAMP/LEMP?

Bers666 ★★★★★
()
Ответ на: комментарий от Myau

Как проверил-то?

$ dpkg-query -W dash
dash    0.5.7-3
$ x='() { :;}; echo vulnerable' /bin/dash -c "echo this is a test"
this is a test
$ x='() { (a)=>\' /bin/dash -c "echo date"; cat echo
date
cat: echo: No such file or directory

unterwulf
()

О, нет! Моя система уязвима! Не взламывайте меня пока не обновлюсь, если не хотите увидеть на моём компе фотки, как мы с вашей мамой «чай пили».

anonymous
()
Ответ на: комментарий от Bers666

Повторяю вопрос

Повторяю ответ.

И что там?

Там найденный in the wild запрос, заражающий машину.

как заюзать уязвимость то если у меня LAMP/LEMP?

Уязвимость становится эпичной, если уязвим твой личный сервер? okay.jpg

tailgunner ★★★★★
()
Ответ на: комментарий от unterwulf
$ dash
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
$

правда, в сегодняшнем обновлении починили

Myau ★★★★
()
Ответ на: комментарий от vitalif

Уже выпущенный для баша фикс уже успешно обошли)

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

unterwulf
()
Ответ на: комментарий от anonymous

если не хотите увидеть на моём компе фотки, как мы с вашей мамой «чай пили».

Звучит как сюжет порнофильма.

ritsufag ★★★★★
()
Ответ на: комментарий от nowaysystem

If you want. Но не удивляйся когда что ни будь отвалится..

expelled ★★
()
Ответ на: комментарий от tailgunner

Там найденный in the wild запрос, заражающий машину.

А какую он машину заражает-то? Какая софтина должна обслуживать запросы чтобы эта штука смогла сделать что-то плохое?

anonymous
()
Ответ на: комментарий от anonymous

А какую он машину заражает-то?

Ту, на которой обрабатывается.

Какая софтина должна обслуживать запросы чтобы эта штука смогла сделать что-то плохое?

«Apache с mod_cgi или mod_cgid (если скрипты CGI написаны на bash или вызывают bash-скрипты), клиенты DHCP (если они вызывают скрипты для настройки системы), CUPS и вообще любые приложения, которые запускают bash (или bash-скрипты) и могут устанавливать переменные окружения на основе данных, полученных извне».

tailgunner ★★★★★
()
Ответ на: комментарий от Myau

правда, в сегодняшнем обновлении починили

Насколько я могу судить, последнее обновление dash в stable было в 2012 году [1].

Для проверки уязвимости важен не текущий шелл, где выполняется вызов, а вызываемый. Твоя команда тестирует bash, а не dash.

[1] http://metadata.ftp-master.debian.org/changelogs/main/d/dash/stable_changelog

unterwulf
()

Интересно, а нашли неуловимого джо каким образом? Ред Хат раз в 5 лет аудит сделали или кто-то нашёлся (школьник например, т. к. уязвимость очень простая) кому стало любопытно?
А сколько втихую эту уязвимость использовали? Или на юникс-мирок до сих пор мало кому есть дело, даже не смотря на наличие огромного числа веб-серверов?

EvilFox ★★
()
Ответ на: комментарий от EvilFox

Или на юникс-мирок до сих пор мало кому есть дело

Нет. Ты просто не знешь, какой ажиотаж вокруг локал рут эксплоитов.

xtraeft ★★☆☆
()

Ну наконец-то Ънтерпрайзных слоупоков можно будет пнуть, чтоб обновились до bash 4.3, ато они уже засовокупляли со своим bash 3.*

Кстати, в msys до сих пор bash 3.1?

KennyMinigun ★★★★★
()
Ответ на: комментарий от fero

Зачем нужен bash, если есть perl?

О нет, интерактивный Perl — г-но еще то. Без rlwrap вообще не юзабелен. Развечто perlconsole (та, что REPL).

KennyMinigun ★★★★★
()
Ответ на: комментарий от EvilFox

Начни с rdot.org, там найдешь ссылки на зарубежные источники. Мне это давно неинтересно, поэтому актуальных ссылок не дам.

xtraeft ★★☆☆
()
Ответ на: комментарий от tailgunner

Какая софтина должна обслуживать запросы чтобы эта штука смогла сделать что-то плохое?

«Apache с mod_cgi или mod_cgid (если скрипты CGI написаны на bash или вызывают bash-скрипты), клиенты DHCP (если они вызывают скрипты для настройки системы), CUPS и вообще любые приложения, которые запускают bash (или bash-скрипты) и могут устанавливать переменные окружения на основе данных, полученных извне».

ну таких машин 0.1% в сети. В общем, расходимся, здесь не на что смотреть. Очередная раздутая IT журналистами «массовая уязвимость».

Bers666 ★★★★★
()
Ответ на: комментарий от x3al

Да, и плюс возможность получить рута у всех линуксоидов в локалке путём правильной настройки dhcp-сервера =).

Deleted
()
Ответ на: комментарий от Bers666

ну таких машин 0.1% в сети

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

Очередная раздутая IT журналистами «массовая уязвимость».

Аналитики в треде, все в хонипот.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

на конкретные CGI-скрипты, например, на /cgi-sys/defaultwebpage.cgi

Так?

89.207.135.125 - - [25/Sep/2014:15:03:38 +0400] "GET /cgi-sys/defaultwebpage.cgi HTTP/1.0" 301 184 "-" "() { :;}; /bin/ping -c 1 198.101.206.138"

Только

с указанием корректных имён домена таких сайтов

x3al ★★★★★
()
Последнее исправление: x3al (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Я ж не спорю, что уязвимость не работает. Да, такие хосты есть. Но посуди сам, насколько распространены системы, где можно заюзать эскплоит? Это же не LAMP/LEMP.

Организация целевых атак на конкретные CGI-скрипты, например, на /cgi-sys/defaultwebpage.cgi из CPanel, позволяет как минимум в 10 раз расширить область действия атаки».

пруф успешной атаки на cpanel пожалуйста.

Bers666 ★★★★★
()

Ладно, bash bash'ем, а что там с APT? Насколько все серьезно, господа аналитики?

dexpl ★★★★★
()
Ответ на: комментарий от vitalif

Уже выпущенный для баша фикс уже успешно обошли)

bash --version
GNU bash, version 4.2.48(1)-release (x86_64-pc-linux-gnu)


env X='() { (a)=>\' bash -c «echo date»; cat echo
bash: X: line 1: syntax error near unexpected token `='
bash: X: line 1: `'
bash: error importing function definition for `X'
cat: echo: No such file or directory
anonymous
()
Ответ на: комментарий от PerdunJamesBond

в Дебиане-тестинге умвр. обнвлс

В минте 17 обнова вчера прилетела

bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x' this is a test

Odalist ★★★★★
()
Последнее исправление: Odalist (всего исправлений: 2)
Ответ на: комментарий от reprimand

ходят слухи, что tcsh тоже...

ЛПП!

nkt@belfalas ~ % csh --version
tcsh 6.18.01 (Astron) 2012-02-14 (x86_64-amd-FreeBSD) options wide,nls,dl,al,kan,sm,rh,color,filec
nkt@belfalas ~ % env x='() { :;}; echo vulnerable' csh -c "echo this is a test"
this is a test
fat_angel ★★★★★
()

Так, с загрузкой разобрались, теперь ждём когда говнобаш повыпиливают из оставшихся приличных мест.

d_a ★★★★★
()
Ответ на: комментарий от derlafff

Ну так обойди запрет запуска программ и скриптов в Aчайников. Ну, а сидя под админом и отключая тот же «UAC -для чайников», чего ты хочешь?

anonymous
()

Уязвимость, успевшая получить названия Shellshock или Bashdoor, была обнаружена Стефани Чазелас, администратором Unix- и Linux-сетей и телекоммуникаций в Akamai. Как отмечает The Verge, эта уязвимость могла годами позволять хакерам контролировать компьютеры, работающие на Linux.

anonymous
()

дебилан решето!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.