LINUX.ORG.RU

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

 , ,


0

1

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

>>> Новость на Opennet

>>> Оригинал



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

>на следующих страницах: Slackware, Gentoo, Mandriva, openSUSE, CentOS, Fedora, RHEL, Debian, Ubuntu.

А ссылки кто будет делать?

Ttt ☆☆☆☆☆ ()

Не зря я перешел на uClibc.

anonymous ()

exec 3< /tmp/exploit/target bash: /tmp/exploit/target: Permission denied

ЧЯДНТ?

anonymous ()

> Уязвимость протестирована в Fedora 13 и RHEL 5 / CentOS 5, другие дистрибутивы судя по всему также подвержены проблеме.

Подтверждаю. На Fedora и CentOS баг есть. И все. Больше нигде (ни в Debian с его eglibc, ни в OpenSUSE ни в Slackware баг воспроизвести не удалось). Чем федора такая особенная?

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

> exec 3< /tmp/exploit/target bash: /tmp/exploit/target: Permission denied ЧЯДНТ?

Невнимательно (не) читаешь оригинальную статью. Дай всем пользователям доступ на чтение к /bin/ping.

anonymous ()

У меня на слаке на работает

sem@darkstar:~$ LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
Inconsistency detected by ld.so: dl-open.c: 271: dl_open_worker: Assertion `(call_map)->l_name[0] == '\0'' failed!

xcreatepixmap ()

> статус выхода обновлений в различных Linux-дистрибутивах можно наблюдать на следующих страницах: Slackware, Gentoo, Mandriva, openSUSE, CentOS, Fedora, RHEL, Debian, Ubuntu.

зачем это вот так вот брать и копипастить?

уязвимы только к позору на седину Дреппера дистрибутивы с непатченной glibc - RHEL, CentOS, Fedora, если даже на слаке подтвердить не могут (ассерт), не говоря уже о дистрибутивах с большим набором патчей над glibc или eglibc


Sylvia ★★★★★ ()

А почему Arch, который вроде как максимально беспатчевый, не подвержен?

Hokum ☆☆☆☆ ()

Мдя ... очередной EPIC модели безопасности UNIX (разработанно ХЗ когда ...)

robot12 ★★★★★ ()

В этом моём арче не работает, в терминале вылет при попытке исполнить LD_AUDIT=«\$ORIGIN» exec /proc/self/fd/3, в консоли пишет, что файла такого нет.

Strafer ()

Жаль, что не в Bionic libc. А вообще пофиг.

Quasar ★★★★★ ()

ОЛОЛО

теперь в двух с половиной линуксах (из более чем нескольких сотен) работают вирусы

чтобы получить вирус - надо зайти в интернет и скачать вирус. а потом запустить его у себя на компе.

по сути: дыра не представляет никакой серьёзной опасности для тех, кто пользуется модерируемыми репами или просто не ставит себе всю херню с интернета подряд

да и всё-равно пофиксят раньше, чем выйдет хоть что-нибудь. и в убунте не работает, так что эпидемия отменяется.

да, если через неделю не пофиксят - сам патч буду коммитать. так что закрытие дыры гарантированно!

Goury ★★★☆ ()

Забавно, что проявляется похоже только в красношапских дистрах. Они ведь там над безопасностью трясутся.

unikum ★★★★★ ()
Ответ на: ОЛОЛО от Goury

Re: ОЛОЛО

А вирусы не нужно скачивать. Они сами уже встроены во все установочные образы распространяемые на трекерах.

Вот ты сам проверял свой образ командой md5 ?

xcreatepixmap ()

А в этом эксплоите backdoor есть? Если нет - в топку.

Korwin ★★★ ()

НЕ ЗАПУСКАЙТЕ ЭКСПЛОЙТ. ТАМ ВИРУС. КОМП НАКРЫЛСЯ ФАЙЛЫ НЕ ЧИТАЕТ. БРАТА В САМОЛЁТНУЮ ТУРБИНУ ЗАСОСАЛО ПИШУ С ДОМОФОНА.

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

>Дай всем пользователям доступ на чтение к /bin/ping.
Вот всегда в этих ваших линуксах вирусы искоропки не работают :(

xorik ★★★★★ ()

>Проблема была известна и ранее, но разработчики Glibc считали, что эксплуатировать ее невозможно.

Вот это как-то непонятненько.

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

>> exec 3< /tmp/exploit/target bash: /tmp/exploit/target: Permission denied ЧЯДНТ?

> Невнимательно (не) читаешь оригинальную статью. Дай всем пользователям доступ на чтение к /bin/ping.

А чтение для всех рутовых бинарников с суидным флагом часто встречается?

Rubystar ★★ ()

А как быть тем, у кого /, /usr, /var, /tmp и /home — разные fs, при этом первые две ro?

baka-kun ★★★★★ ()

Да, кстати. В моёй генте все suid-проги имеют 755. Так что и этот эксплоит не проверить.

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

> Да, кстати. В моёй генте все suid-проги имеют 755. Так что и этот эксплоит не проверить.

Изменить вручн^W^WСнять презерватив.

Rubystar ★★ ()

На Ubuntu 10.10 прямо сейчас обновляю glibc и еще много чего. Из официальных репов.

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

>> Да, кстати. В моёй генте все suid-проги имеют 755. Так что и этот эксплоит не проверить.

> Изменить вручн^W^WСнять презерватив.

Кстати, попробовал. Тоже сегфолтится:

exploit[26027]: segfault at 1 ip 0000000000000001 sp 00007fff1c54cb58 error 14 in exploit[7fc3c9138000+1000]

Rubystar ★★ ()

Gentoo

LD_AUDIT=«\$ORIGIN» exec /proc/self/fd/3 Inconsistency detected by ld.so: dl-open.c: 231: dl_open_worker: Assertion `(call_map)->l_name[0] == '\0" failed!

Zaqwr ()
Ответ на: Re: ОЛОЛО от xcreatepixmap

Re: ОЛОЛО

> Вот ты сам проверял свой образ командой md5 ?

md5 скомпрометирован. Проверяем sha1

turtle_bazon ★★ ()

turtle@turtle:/tmp/exploit$ ln /bin/ping target ln: создание жесткой ссылки `target' => `/bin/ping': Операция не позволяется

Да ну вас. Тоже мне, эксплоит.

turtle_bazon ★★ ()

в mandriva не работает =). счастье.

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

>>И правда работает.
>Какой дистриб?

Надо спрашивать какой IP

Korwin ★★★ ()
Ответ на: Re: ОЛОЛО от xcreatepixmap

> Вот ты сам проверял свой образ командой md5 Не повершь - проверял. md5sum Все совпадает. И даже не образ, а записанный CD диск, у которого сессия записи уже закрыта

dromer ()
Ответ на: Re: ОЛОЛО от turtle_bazon

SHA1 тоже. Переходите на SHA256.

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

Slackware ls -l /bin/ping -rws--x--x 1 root root 32584 May 31 2007 /bin/ping

Mandriva ls -l /bin/ping -rwsr-xr-x 1 root root 34920 2010-07-13 17:17 /bin/ping*

вся разница

anonymous ()

В центоси работает, в дженте упарился, но работать заставить не смог.

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

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

> уязвимы только к позору

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

anonymous ()

Ничего не поделаешь, это линукс.

matich ()
[sanja@diego ~]$ mkdir tmp/exploit
[sanja@diego ~]$ ln /bin/ping tmp/exploit/target
ln: создание жесткой ссылки «tmp/exploit/target» => «/bin/ping»: Неверная ссылка между устройствами
[sanja@diego ~]$ lsb_release -sd
"Fedora release 13 (Goddard)"
[sanja@diego ~]$ ls -l ~/tmp/exploit/
итого 0
[sanja@diego ~]$ yum info glibc
Загружены модули: presto, refresh-packagekit
Установленные пакеты
Name        : glibc
Arch        : i686
Version     : 2.12.1
Release     : 2
Size        : 13 M
Репозиторий : installed
From repo   : updates
Summary     : The GNU libc libraries
Ссылка      : http://sources.redhat.com/glibc/
License     : LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Описание    : The glibc package contains standard libraries which are used by
            : multiple programs on the system. In order to save disk space and
            : memory, as well as to make upgrading easier, common system code is
            : kept in one place and shared between programs. This particular package
            : contains the most important sets of shared libraries: the standard C
            : library and the standard math library. Without these two libraries, a
            : Linux system will not function.

И чядн?

novitchok ★★★★★ ()

Шо ? опять ?

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

> И чядн?

ln: создание жесткой ссылки «tmp/exploit/target» => «/bin/ping»: Неверная ссылка между устройствами

Надо чтобы tmp/exploit/target и /bin/ping находились на одной FS.

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