Categories: Уязвимости

Локальная root-уязвимость в ядре Linux CVE-2016-8655

В ядре Linux обнаружена локальная уязвимость (CVE-2016-8655), позволяющая локальному непривилегированному пользователю выполнить код с правами root. В том числе, уязвимость может быть использована для выхода за пределы изолированных контейнеров, работающих с использованием пространств имён идентификаторов пользователей. Рабочий прототип эксплоита подготовлен

для Ubuntu 14.04/16.04 c ядром Linux 4.4 и работает независимо от активации механизмов защиты SMEP/SMAP (Supervisor Mode Execution Prevention/Supervisor Mode Access Prevention).

Проблема вызвана состоянием гонки в коде net/packet/af_packet.c и присутствует, начиная с выпуска ядра Linux 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, через который может быть эксплуатирована уязвимость.

Патч с исправлением уязвимости принят в состав ядра Linux 4.9-rc8. Обновления пакетов пока выпущены только для Ubuntu. Проблема остаётся неисправленной в Fedora, openSUSE, Debian, CentOS/RHEL 7, SUSE Linux Enerprise 12. Уязвимость не затрагивает SLE 11, RHEL 5 и RHEL 6.

Дополнительно можно отметить публикацию обновления для платформы Android, в котором устранено шесть критических уязвимостей, из которых три затрагивают ядро Linux, две драйвер NVIDIA и одна модуль для чипов Qualcomm). Уязвимости могут привести к выполнению кода с правами ядра. Эксплоиты для данных уязвимостей пока не сформированы, но информация о проблемах и код патчей уже доступны публично. Из проблем не отнесённых к категории критических, также отмечаются более 20 уязвимостей, которые дают возможность организовать выполнение кода с правами текущего процесса или позволяют поднять свои привилегии через манипуляции с различными подсистемами (kernel file system, HTC sound codec, MediaTek driver, Qualcomm codec, Qualcomm camera driver, NVIDIA libomx, libziparchive, Smart Lock, Telephony, Wi-Fi, Qualcomm sound driver и т.п.).

Также продолжается история с уязвимостями в GStreamer: чтобы показать, что упомянутые в первом отчёте проблемы не единичны, Крис Эванс (Chris Evans) выявил ещё шесть уязвимостей в декодировщиках форматов FLIC и vmnc, позволяющие организовать выполнение кода при открытии специально оформленных файлов. Также предложен пример создания нового работающего эксплоита для прошлой уязвимости, некорректно исправленной в Fedora Linux.

HelpUTeam

Share
Published by
HelpUTeam

Recent Posts

Windows 10 стала работать медленнее после установки обновления? Исправим это

Ваш компьютер на Windows 10 перестал быть быстрым после обновления системы? Мы подскажем, как устранить…

3 года ago

Описание приложения-чата по приглашениям Clubhouse

Это приложение для iPhone основано на приглашениях и аудио. С его помощью можно всё равно…

3 года ago

Изменение почтового клиента по умолчанию в iOS 14 на Outlook, Spark, Gmail и другие

Одним из самых значительных изменений в операционной системе iOS 14 является возможность менять приложения по…

4 года ago

Включение пузырей уведомлений в чатах на Android 11

В системе Android 10 появился фреймворк для пузырей чатов, популярность которым принёс Messenger. Новая система…

4 года ago

Как настроить беспроводную отладку в Android 11

От загрузки в режим Fastboot при помощи одной команды до установки модов без рута, есть…

4 года ago

Главные проблемы Android 11 Beta и следует ли устанавливать её

Бета-версия операционной системы Android 11 в настоящее время доступна для устройств Google Pixel. Нужно посетить…

4 года ago