В ядре 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
> На платформе Android право создавать сокеты AF_PACKET имеет процесс mediaserver, через который может быть эксплуатирована уязвимость.Ждем порнхак
> Ждем порнхакЭто будет весьма оригинальным способом рутования усторйств.
Больше root-эксплоитов б-гу Android-эксплоитов!
Придложенный 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
> Придложенный 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"
кот. нет по-умолчанию
5 и 6 наше все.
И как всегда. Наобещают, а нихера не работает.
А все почему? Все потому, что для серверов есть 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 startingnew 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 wonretrying 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 wonretrying 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 wonretrying 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 wonretrying 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 wonretrying 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
Надеюсь rkhunter на момент запуска этого эксплоита стоял?
он хоть ловит чтонибудь?
Он делает одну очень удобную вещь, diff файловой системы. А что изменилось в системе до и после, уж сам лови.
Ну и плюс модули антивирусные по вкусу.
> Non-privileged user namespaces disabled by default, only vulnerable with sysctl kernel.unprivileged_userns_clone=1Попробуй это сначала включить.
> Дополнительно можно отметить публикацию обновления для платформы Android, в котором устранено шесть критических уязвимостейа есть ли для андройда возможность иметь свежие системные компоненты, но старое гуи (типо для прошлых телефонов которые по памяти/процу новые 5+ андройды не тянут) ? есть ли такая возможность в качестве штатной фичи у какого-нить CyanogenMod и ко ?
Нет, к сожалению. Я бы с 4.4 и не слез никогда.
Почему? 7.1 даже на моём стареньком устройстве работает значительно шустрее, чем родной 4.4
Потому что не всем нравятся новые "фитчи" от гугла. Я до сих пор на 4.2.2 сижу.
> Почему? 7.1 даже на моём стареньком устройстве работает значительно шустрее, чем родной
> 4.4Потому что ведроиды после 4-ки стали выглядеть как кусок использованной туалетной бумаги. Четвертый был симпатичным, а потом его изуродовали. Я сдуру обновил на одном устройстве ведроида - так меня хомяки чуть не порвали за это, потому что получилась форменная диверсия.
Циан до сих пор обновляет ветку 11.0. Так что скорее да, чем нет.
Осталось только пересобрать его под ваш телефон.
А толку? Орали про dirtycow. И до сих пор shell получить не могут.
https://github.com/timwr/CVE-2016-5195/issues/9#issuecomment...
> А толку? Орали про dirtycow. И до сих пор shell получить не могут.Ну может кто особо строптивый андроид порутает :)
Нихрена себе, какой всё-таки жуткий геморрой - пытаться воспользоваться уязвимостью в Linux))
Как можно после стольки уязвимостей появляться на публике в роли "нечаянного революционера"? "Нечаянный клоун-*овнокодер" - тут куда ближе!
> Как можно после стольки уязвимостей появляться на публике в роли "нечаянного революционера"?
> "Нечаянный клоун-*овнокодер" - тут куда ближе!"Корпоративы, дни рождения, б***ки-гулянки для Уважаемых Членов клуба. Недорого! Целебрити-аниматоры взодят в чле-взнос!" --http://www.opennet.ru/openforum/vsluhforumID3/106791.html#49