
Various kernel exploits
Различные эксплойты ядра
Локальный root-эксплойт для Linux.
Обновлённая версия эксплойта theflow для CVE-2021-22555.
Запись за пределами буфера в куче, затрагивающая Linux начиная с v2.6.19-rc1, была обнаружена в net/netfilter/x_tables.c. Это позволяет атакующему получить привилегии или вызвать DoS (посредством повреждения памяти в куче) через пользовательское пространство имён.
Локальный root-эксплойт для Linux.
Обновлённая версия эксплойта Jann Horn для CVE-2019-13272.
В ядре Linux до 5.1.17 функция ptrace_link в kernel/ptrace.c некорректно обрабатывает запись учётных данных процесса, который хочет установить связь ptrace, что позволяет локальным пользователям получить root-доступ, используя определённые сценарии с отношением родительский-дочерний процесс, когда родительский процесс сбрасывает привилегии и вызывает execve (потенциально позволяя атакующему получить контроль). Одним из способствующих факторов является проблема времени жизни объекта (которая также может вызвать панику). Другим фактором является некорректная пометка связи ptrace как привилегированной, чем можно воспользоваться, например, через помощник pkexec из Polkit с PTRACE_TRACEME. ПРИМЕЧАНИЕ: SELinux deny_ptrace может быть работоспособным обходным путём в некоторых окружениях.
Локальный root-эксплойт для Linux.
Обёртка над эксплойтом Jann Horn для CVE-2018-18955.
В ядре Linux 4.15.x–4.19.x до 4.19.2 функция map_write() в kernel/user_namespace.c допускает повышение привилегий, поскольку она некорректно обрабатывает вложенные пользовательские пространства имён с более чем 5 диапазонами UID или GID. Пользователь, обладающий CAP_SYS_ADMIN в затронутом пользовательском пространстве имён, может обойти контроль доступа к ресурсам за пределами пространства имён, что продемонстрировано чтением /etc/shadow. Это происходит потому, что преобразование идентификаторов выполняется корректно в направлении от пространства имён к ядру, но не в направлении от ядра к пространству имён.
Локальный root-эксплойт для Linux.
Обновлённая версия эксплойта wbowling для CVE-2018-5333.
В ядре Linux до 4.14.13 функция rds_cmsg_atomic в net/rds/rdma.c некорректно обрабатывает случаи, когда закрепление страницы завершается неудачей или передаётся недопустимый адрес, что приводит к разыменованию NULL-указателя rds_atomic_free_op.
Локальный root-эксплойт для Linux.
Обновлённая версия эксплойта xairy для CVE-2017-1000112.
Ядро Linux: эксплуатируемое повреждение памяти из-за переключения пути UFO на не-UFO. При сборке UFO-пакета с MSG_MORE функция __ip_append_data() вызывает ip_ufo_append_data() для добавления данных. Однако между двумя вызовами send() путь добавления может переключиться с UFO на не-UFO, что приводит к повреждению памяти. В случае, когда длина UFO-пакета превышает MTU, copy = maxfraglen - skb->len становится отрицательным на не-UFO пути, и выполняется ветвь выделения нового skb. Это вызывает фрагментацию и вычисление fraggap = skb_prev->len - maxfraglen. Fraggap может превысить MTU, в результате чего copy = datalen - transhdrlen - fraggap становится отрицательным. Затем skb_copy_and_csum_bits() выполняет запись за пределами буфера. Аналогичная проблема присутствует в коде IPv6. Ошибка была внесена в коммите e89e9cf539a2 («[IPv4/IPv6]: UFO Scatter-gather approach») 18 октября 2005 года.
Локальный root-эксплойт для Linux.
Обновлённая версия эксплойта xairy для CVE-2017-7308.
Функция packet_set_ring в net/packet/af_packet.c в ядре Linux до 4.10.6 некорректно проверяет определённые данные о размере блока, что позволяет локальным пользователям вызвать отказ в обслуживании (ошибка знаковости целых чисел и запись за пределами буфера) или получить привилегии (при наличии возможности CAP_NET_RAW) с помощью специально созданных системных вызовов.
Локальный root-эксплойт для Linux.
Обновлённая версия эксплойта xairy для CVE-2016-9793.
Функция sock_setsockopt в net/core/sock.c в ядре Linux до 4.8.14 некорректно обрабатывает отрицательные значения sk_sndbuf и sk_rcvbuf, что позволяет локальным пользователям вызвать отказ в обслуживании (повреждение памяти и крах системы) или, возможно, оказать иное неопределённое воздействие, используя возможность CAP_NET_ADMIN для специально созданного системного вызова setsockopt с опцией (1) SO_SNDBUFFORCE или (2) SO_RCVBUFFORCE.
Локальный root-эксплойт для Linux.
Обновлённая версия эксплойта rebel для CVE-2016-8655.
Состояние гонки в net/packet/af_packet.c в ядре Linux до 4.8.12 позволяет локальным пользователям получить привилегии или вызвать отказ в обслуживании (use-after-free) с помощью возможности CAP_NET_RAW для изменения версии сокета; связано с функциями packet_set_ring и packet_setsockopt.