URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 109837
[ Назад ]

Исходное сообщение
"Локальная root-уязвимость в ядре Linux"

Отправлено opennews , 07-Дек-16 11:47 
В ядре Linux обнаружена (http://openwall.com/lists/oss-security/2016/12/06/1) локальная уязвимость (CVE-2016-8655 (https://security-tracker.debian.org/tracker/CVE-2016-8655)), позволяющая локальному непривилегированному пользователю выполнить код с правами root. В том числе, уязвимость может быть использована для выполнения кода вне изолированных контейнеров, работающих с использованием пространств имён идентификаторов пользователей. Рабочий прототип эксплоита подготовлен (http://openwall.com/lists/oss-security/2016/12/07/3) для Ubuntu 16.04 и работает независимо от активации механизмов защиты SMEP/SMAP (Supervisor Mode Execution Prevention/Supervisor Mode Access Prevention).

Проблема вызвана состоянием гонки в коде net/packet/af_packet.c и присутствует (https://github.com/torvalds/linux/commit/f6fb8f100b807378fda...), начиная с выпуска 3.2-rc1, представленного в августе 2011 года. Уязвимость присутствует в функции  packet_set_ring и позволяет через манипуляции с кольцевым буфером TPACKET_V3 осуществить обращение по уже освобождённому указателю функции, что может быть эксплутаировано для запуска кода на уровне ядра Linux.

Для атаки пользователь должен иметь полномочия по созданию сокетов AF_PACKET, которые предоставляются при наличии прав CAP_NET_RAW. В Debian, Red Hat Enterprise Linux и, возможно, в некоторых других дистрибутивах (требуется уточнение информации) проблема проявляется только  при предоставлении администратором прав CAP_NET_RAW  и активации поддержки пространств имён идентификаторов пользователей (user namespaces, sysctl kernel.unprivileged_userns_clone=1), которая отключена по умолчанию. В Ubuntu и  Fedora режим user namespaces включен по умолчанию, но для атаки по-прежнему требуется получение полномочий CAP_NET_RAW. На платформе Android право создавать сокеты AF_PACKET имеет процесс mediaserver, через который может быть эксплуатирована уязвимость.


Патч с исправлением уязвимости принят (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux....) в состав ядра Linux 4.9-rc8. Обновления пактов пока выпущены только для Ubuntu (https://www.ubuntu.com/usn/usn-3151-1/). Проблема остаётся неисправленной в Fedora (https://bodhi.fedoraproject.org/updates/?releases=F25&type=s...), openSUSE (https://lists.opensuse.org/opensuse-security-announce/2016-12/), Debian (https://security-tracker.debian.org/tracker/CVE-2016-8655), Fedora, CentOS/RHEL 7 (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-8655), SUSE Linux Enerprise 12 (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2016-8655). Уязвимость не затрагивает SLE 11, RHEL 5 и RHEL 6.


URL: http://openwall.com/lists/oss-security/2016/12/07/3
Новость: http://www.opennet.ru/opennews/art.shtml?num=45632


Содержание

Сообщения в этом обсуждении
"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 07-Дек-16 11:47 
> На платформе Android право создавать сокеты AF_PACKET имеет процесс mediaserver, через который может быть эксплуатирована уязвимость.

Ждем порнхак


"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 08-Дек-16 18:05 
> Ждем порнхак

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


"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 07-Дек-16 11:54 
Больше root-эксплоитов б-гу Android-эксплоитов!

"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 07-Дек-16 12:11 
Придложенный PoC у меня не заработал

retrying stage..
...
race not won

Вот это по кругу и ничего не происходит.

Ubuntu 16.04
➭ uname -a
Linux hostname 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


"Локальная root-уязвимость в ядре Linux"
Отправлено none_first , 07-Дек-16 13:18 
> Придложенный PoC у меня не заработал
> retrying stage..
> ...
> race not won
> Вот это по кругу и ничего не происходит.
> Ubuntu 16.04
> ➭ uname -a
> Linux hostname 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64
> x86_64 x86_64 GNU/Linux

"но для атаки по-прежнему требуется получение полномочий CAP_NET_RAW"
кот. нет по-умолчанию


"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 07-Дек-16 12:35 
5 и 6 наше все.

"Локальная root-уязвимость в ядре Linux"
Отправлено Ergil , 07-Дек-16 12:54 
И как всегда. Наобещают, а нихера не работает.
А все почему? Все потому, что для серверов есть livepatch и еще вчера ядро обновилось без перезагрузки.

./chocobo_root
linux AF_PACKET race condition exploit by rebel
kernel version: 4.4.0-36-generic #55
proc_dostring = 0xffffffff81087ea0
modprobe_path = 0xffffffff81e48f80
exploit starting

new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 8599, last val = 2)
race not won
retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 32583, last val = 0)
race not won
retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 32571, last val = 0)
race not won
retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 3, last val = 0)
race not won
retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 1, last val = 0)
race not won
retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 1, last val = 0)
race not won

retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 32571, last val = 0)
current packet version = 2
pbd->hdr.bh1.offset_to_first_pkt = 48
race not won

retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 3, last val = 0)
current packet version = 2
pbd->hdr.bh1.offset_to_first_pkt = 48
race not won

retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 1, last val = 0)
current packet version = 2
pbd->hdr.bh1.offset_to_first_pkt = 48
race not won

retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 1, last val = 0)
current packet version = 2
pbd->hdr.bh1.offset_to_first_pkt = 48
race not won

retrying stage..
new exploit attempt starting, jumping to 0xffffffff8106f360, arg=0xffffffffff600000
sockets allocated
removing barrier and spraying..
version switcher stopping, x = -1 (y = 32571, last val = 0)
current packet version = 2
pbd->hdr.bh1.offset_to_first_pkt = 48
race not won


"Локальная root-уязвимость в ядре Linux"
Отправлено EuPhobos , 07-Дек-16 13:06 
Надеюсь rkhunter на момент запуска этого эксплоита стоял?

"Локальная root-уязвимость в ядре Linux"
Отправлено yz , 07-Дек-16 22:42 
он хоть ловит чтонибудь?

"Локальная root-уязвимость в ядре Linux"
Отправлено EuPhobos , 07-Дек-16 22:43 
Он делает одну очень удобную вещь, diff файловой системы. А что изменилось в системе до и после, уж сам лови.
Ну и плюс модули антивирусные по вкусу.

"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 07-Дек-16 23:59 
> Non-privileged user namespaces disabled by default, only vulnerable with sysctl kernel.unprivileged_userns_clone=1

Попробуй это сначала включить.


"Локальная root-уязвимость в ядре Linux"
Отправлено J.L. , 07-Дек-16 14:02 
> Дополнительно можно отметить публикацию обновления для платформы Android, в котором устранено шесть критических уязвимостей

а есть ли для андройда возможность иметь свежие системные компоненты, но старое гуи (типо для прошлых телефонов которые по памяти/процу новые 5+ андройды не тянут) ? есть ли такая возможность в качестве штатной фичи у какого-нить CyanogenMod и ко ?


"Локальная root-уязвимость в ядре Linux"
Отправлено Crazy Alex , 07-Дек-16 17:04 
Нет, к сожалению. Я бы с 4.4 и не слез никогда.

"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 08-Дек-16 10:29 
Почему? 7.1 даже на моём стареньком устройстве работает значительно шустрее, чем родной 4.4

"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 08-Дек-16 12:37 
Потому что не всем нравятся новые "фитчи" от гугла. Я до сих пор на 4.2.2 сижу.

"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 08-Дек-16 18:08 
> Почему? 7.1 даже на моём стареньком устройстве работает значительно шустрее, чем родной
> 4.4

Потому что ведроиды после 4-ки стали выглядеть как кусок использованной туалетной бумаги. Четвертый был симпатичным, а потом его изуродовали. Я сдуру обновил на одном устройстве ведроида - так меня хомяки чуть не порвали за это, потому что получилась форменная диверсия.


"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 07-Дек-16 16:52 
Циан до сих пор обновляет ветку 11.0. Так что скорее да, чем нет.
Осталось только пересобрать его под ваш телефон.

"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 07-Дек-16 20:17 
А толку? Орали про dirtycow. И до сих пор shell получить не могут.
https://github.com/timwr/CVE-2016-5195/issues/9#issuecomment...

"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 09-Дек-16 04:23 
> А толку? Орали про dirtycow. И до сих пор shell получить не могут.

Ну может кто особо строптивый андроид порутает :)


"Локальная root-уязвимость в ядре Linux"
Отправлено Аноним , 08-Дек-16 10:41 
Нихрена себе, какой всё-таки жуткий геморрой - пытаться воспользоваться уязвимостью в Linux))

"Локальная root-уязвимость в ядре Linux"
Отправлено Kodir , 09-Дек-16 15:48 
Как можно после стольки уязвимостей появляться на публике в роли "нечаянного революционера"? "Нечаянный клоун-*овнокодер" - тут куда ближе!

"Локальная root-уязвимость в ядре Linux"
Отправлено Andrey Mitrofanov , 09-Дек-16 17:01 
> Как можно после стольки уязвимостей появляться на публике в роли "нечаянного революционера"?
> "Нечаянный клоун-*овнокодер" - тут куда ближе!

"Корпоративы, дни рождения, б***ки-гулянки для Уважаемых Членов клуба. Недорого! Целебрити-аниматоры взодят в чле-взнос!"  --http://www.opennet.ru/openforum/vsluhforumID3/106791.html#49