LINUX.ORG.RU

Локальное повышение привилегий в ядрах Linux

 , ,


0

0

Если точнее, затрагивает все ядра 2.4 и 2.6, восходя аж к 2001 году. Связано с тем, что ряд функций ядра, наподобие sock_sendpage, не занимается проверкой полученного указателя на NULL, полагаясь на то, что соответствующие указатели будут корректно проинициализированы в обертках - таких как sock_no_sendpage. Однако в случае с sock_sendpage ошибка в макросе SOCKOPS_WRAP все же может привести к передаче в функцию нулевого указателя. Что и приводит к возможности внедрения кода, выполняющегося с правами ядра - достаточно положить его в нулевую страницу памяти. Патч уже доступен.

Замечу, что сама возможность подобного лихого обращения с нулевыми указателями в современной ОС вызывает некоторое недоумение - к примеру, в архитектуре Win32/64 подобные плюхи принципиально невозможны по причине блокировке любого доступа к адресам с 0x0 по 0xFFFF (0xFFF в случае Win'9x).

Взято с bugtraq.ru

>>> Подробности



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

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

Ну наконец-то толковое объяснение, спасибо ;)

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

> Если они
> не стоят, то этот эксплойт и правда нафиг не нужен.
> И все, у кого он тут заработал, на самом деле занимались
> ерундой. :)
Кстати, это был гон! Там же, в этом эксплойте, 2 версии
сразу компилятся: одна через pulseaudio работает, а вторая -
и без него. И отлично работает, надо сказать! :)

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

>>Запускайте лучше этот
> Как его собрать на 64битной системе с GCC 4.4.1?
А не надо его собирать. :) Это я просто со слепу не увидел,
что первый эксплойт и версию, не требующую pulseaudio, содержит.
Так что прошу пардону, всё там отлично работает. :)

anonmyous
()

Эксплоит работает на Gentoo 2.6.30-gentoo-r4
pulseaudio отсутствует. эксплоит зачемто запускает mplayer, но даже с отрубленным мплеереом даётся рутовый шелл

nao@nao /usr/src/wunderbar_emporium $ sudo -u test ./wunderbar_emporium.sh
[+] MAPPED ZERO PAGE!
[+] Resolved commit_creds to 0xc0132970
[+] Resolved prepare_kernel_cred to 0xc0132720
[+] got ring0!
[+] detected 2.6 style 4k stacks
sh: /usr/bin/mplayer: Permission denied
[+] Disabled security of : nothing, what an insecure machine!
[+] Got root!
sh-3.2# id
uid=0(root) gid=0(root)

Никаких apparmor/grsecurity/selinux и прочее не используется

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

>Фактически вы подтвердили мои слова. ksplice uptrack предоставляет альтернативный дистрибутив, несовместимый с оригинальной ubuntu от canonical.

Нету никакого альтернативного дистрибутива. есть просто заплатки для дистрибутивных ядер для убунты.
Если ядро собирали сами, то извольте и сами заплатки накладывать.

>Про рантайм-патчи я в курсе. А вот как там обстоит дело насчет патчей на сохраненные бинарники?

о каких "сохранённых бинарниках" идёт речь?

>Т.е. если юзеру пропатчат ядро "на лету", а он потом ребутнется - изменения останутся? Или пропадут?

Там стартует сервис и применяет все нужные заплатки при старте системы

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

О какой совместимости вы говорите? У меня всё "просто работает" и пока некоторые ждут пока залатают дыру в апстриме, у меня уже всё само обновилось и у моей убунты уже этой дыры нет. И даже ребутится не пришлось.
Разве не замечательно?
Но согласен что лучше бы этот сервис предоставлял Canonical, а не "левая контора".

Nao ★★★★★
()

Никак не получается эту хрень запустить :(

Boy_from_Jungle ★★★★
()

>... не занимается проверкой полученного указателя на NULL....

Боже, ещё немного и скоро будем читать про отказ от поддержки перфокарт в ядре!

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

> эксплоит зачемто запускает mplayer
Чтобы клип показать, там aviшка с эксплойтом идёт. Её можно
и так посмотреть. Какие-то мужики голову друг другу простреливают,
наверное, это юмор. :)

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

> Фактически вы подтвердили мои слова. ksplice uptrack предоставляет альтернативный дистрибутив, несовместимый с оригинальной ubuntu от canonical.

Если вам действительно интересно, что представляет из себя ksplice uptrack, зайдите на их сайт и прочитайте. А если вам просто хочется изливать желчь на эту компанию, которую вы из-за чего-то невзлюбили, то занимайтесь этим без моей помощи.

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

>Если вам действительно интересно, что представляет из себя ksplice uptrack, зайдите на их сайт и прочитайте. А если вам просто хочется изливать желчь на эту компанию, которую вы из-за чего-то невзлюбили, то занимайтесь этим без моей помощи.

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

Есть лишь простая логика: несовместимые бинарники -> несовместимый дистрибутив.

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

> Есть лишь простая логика: несовместимые бинарники -> несовместимый дистрибутив.

Вы троллите или серьёзно? о каких бинарниках речь? Сервис этот только для убунтовских ядер из репозитория если вы об этом. Собрать свой рантайм-патч для самосборного ядра можно самому. (но это будет ksplice и к ksplice-uptrack не относится)
Пройдите уже по ссылке и прекратите пороть чушь.

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

>Вы троллите или серьёзно?
Серьезно. Сегодня у меня нет настроения троллить.

>о каких бинарниках речь?

О тех, которые загружены у вас в RAM.

>Сервис этот только для убунтовских ядер из репозитория если вы об этом.

Нет, я совсем не об этом.

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

nnz ★★★★
()

wunderbar_emporium работает даже после "sysctl vm.mmap_min_addr=65536" и "chmod -s /usr/bin/pulseaudio". (Только "return 0;" нужно закомментировать после "Pulseaudio is not suid root!").

vi0
()

2.6.30.5 уже давно вышло

равно как и .27 и .29 обновления (наверное)
.28 ядро больше Грег КроаХартманн не патчит, это к майнтейнерам дистрибутивов

</thread> ?

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