LINUX.ORG.RU
ФорумTalks

[решето]В Linux ядре найдена уязвимость, позволяющая получить права суперпользователя

 


0

0

Во всех Linux ядрах серии 2.6.x найдена серьезная уязвимость, позволяющая локальному пользователю выполнить свой код с root-привилегиями. Проблема вызвана возможностью разыменования NULL-указателя при выполнения определенных действий с неименованными каналами (pipe).

В качестве метода защиты можно запретить маппинг страниц по нулевому адресу через установку в отличного от нуля значения переменной /proc/sys/vm/mmap_min_addr. Концептуальный пример эксплоита можно найти здесь.

Уязвимость очень похожа по своей сути на обнаруженную в августе проблему в функции sock_sendpage() и на представленную несколько дней назад уязвимость в сетевом стеке OpenBSD. Кстати говоря, разработчики OpenBSD уже успели обсудить скептическое отношение Линуса Торвальдса к проблемам безопасности, не желающего по умолчанию запретить возможность маппинга кода по нулевому адресу (в OpenBSD такой запрет появился летом прошлого года в выпуске OpenBSD 4.4).

Проблема исправлена в версии 2.6.32-rc6, для более ранних версий доступен патч. Обновление пакетов выпущено только для дистрибутива Red Hat Enterprise Linux. На момент написания новости обновление еще не вышло для дистрибутивов: Debian, Fedora, Ubuntu, CentOS, SUSE, OpenSUSE, Mandriva, Gentoo и Slackware.

Взято с opennet.ru http://www.opennet.ru/opennews/art.shtml?num=24113

Ответ на: комментарий от Nao

>А опция в ведре отвечающая за этот дефолт - CONFIG_DEFAULT_MMAP_MIN_ADDR

В конфиге и стоит 4096. А гадский вайн свои скриптом при загрузке меняет на ноль, получается.

nitz ★★
()

cat /proc/sys/vm/mmap_min_addr
cat: /proc/sys/vm/mmap_min_addr: No such file or directory

uname -a
Linux net 2.6.24-ovz009.1 #1 SMP Sun Jun 28 11:39:00 EEST 2009 x86_64 GNU/Linux

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

>Так откуда он(0) взялся?Вайн у меня есть в убунте, а разве может вайн изменить это значение сам?

Запросто. При установке заменил и все, смотри установочные скрипты wine.

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

>То есть если я не использую 16битных приложений, то мне 0 не нужен?

Выше ссылку давал, фотошопу нужно и ещё каким-то софтинам, на память не помню, но всё в том же духе, фотошоп, мсо и тп.

justuser ★★
()

gentoo flashback # cat /proc/sys/vm/mmap_min_addr
4096

я ничего не менял

убунта не нужна

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

>Типа, у кого длиннее mmap_min_addr? :)

Ага. Им лишь бы померяться :)

И пофигу на то, что для успешного использования сабжевой дыры нужно патчить ведро :D

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

> В конфиге и стоит 4096. А гадский вайн свои скриптом при загрузке меняет на ноль, получается.

О каком скрипте речь? Под не-root юзером вайн не сможет менять это значение. Или там что-то при загрузке системы выполняется?

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

>Или там что-то при загрузке системы выполняется?

Да.Вот это- /etc/sysctl.d/wine.sysctl.conf

В нём был 0, и несмотря на параметр ядра и /etc/sysctl.d/mmap_min_addr.conf в 4096 , при загрузке выставлялся 0.

nitz ★★
()

Ubuntu Karmic

cat /proc/sys/vm/mmap_min_addr; uname -a
0
Linux driver 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 GNU/Linux
Debian Lenny
cat /proc/sys/vm/mmap_min_addr; uname -a
0
Linux sunirc 2.6.26-2-amd64 #1 SMP Mon Oct 19 02:34:17 UTC 2009 x86_64 GNU/Linux
Debian squezze
cat /proc/sys/vm/mmap_min_addr; uname -a
4096
Linux ak-47 2.6.30-2-amd64 #1 SMP Fri Sep 25 22:16:56 UTC 2009 x86_64 GNU/Linux

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

В gentoo-sources тоже.

$ cat /proc/sys/vm/mmap_min_addr 4096 $ uname -a Linux admin 2.6.31-gentoo-r2 #1 SMP PREEMPT Sun Oct 18 20:57:07 KRAST 2009 i686 Intel(R) Pentium(R) Dual CPU T2390 @ 1.86GHz GenuineIntel GNU/Linux

Но надо использовать на дженте hardened-sources там ядро имеет защиту больше чем в OpenBSD.

Полностью согласен с топикпастером, надо патчи от http://grsecurity.net/ включить в ванильное ядро с возможностью отключения, ибо часть их нельзя использовать в системах связаной с жизнеобеспечением или опасным производством (самолёты, ядерные реакторы, медецина...)

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

К стати OpenBSD c включённой в ядре защитой от "Protection against exploitable null-pointer dereference bugs in the kernel" тоже нельзя использовать в системах связаных с жизнью или опасным производством.

BAN
()

cat /proc/sys/vm/mmap_min_addr cat: /proc/sys/vm/mmap_min_addr: No such file or directory

uname -a Linux Okim 2.6.18-6-486 #1 Sat Dec 27 08:57:46 UTC 2008 i686 GNU/Linux

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

>Cвинячий грип.

Если у вас нет свинячего грипа, мог бы обновить ядро вашего Линукса...

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

> wine хочет 0 для запуска всякого УГ.

$ cat /proc/sys/vm/mmap_min_addr ; uname -a 4096 Linux crater 2.6.30-gentoo-r5 #7 PREEMPT Fri Sep 25 18:56:55 MSD 2009 x86_64 AMD Athlon(tm) 64 Processor 2800+ AuthenticAMD GNU/Linux

WINE работает нормально.

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

> Ноль только у некоторых пользователей wine, чтобы дос-приложения запускать

А он хоть что-то запускать умеет? В манах советуют dosemu и dosbox.

На 64-разрядных поддержка доса в вайне, вроде, работать не должна.

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

>О каком скрипте речь? Под не-root юзером вайн не сможет менять это значение. Или там что-то при загрузке системы выполняется?

Установочным скриптом.

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

> Речь о дефолтных настройках дефолного дистра и Вайна)

В 64-битном Генту по умолчанию именно 4096.

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