Продемонстрирована возможность обхода запрета загрузки модулей ядра, реализуемого через SELinux на одном из изученных устройств (не уточняется, о каком именно устройстве речь и насколько проблема затрагивает правила SELinux в прошивках и дистрибутивах). Блокировка модулей в задействованных правилах SELinux основывалась на ограничении доступа к системному вызову finit_module, позволяющему загрузить модуль из файла и применяемому в таких утилитах, как insmod. При этом правила SELinux не рассматривали системный вызов init_module, который также может применяться для загрузки модулей ядра напрямую из буфера в памяти. Для демонстрации метода подготовлен прототип эксплоита, позволяющий выполнить код на уровне ядра через загрузку своего модуля и полностью отключить защиту SELinux, при наличии ограниченного при помощи SELinux root-доступа к системе.
Обход ограничений SELinux, связанных с загрузкой модулей ядра
5 июня 20235 июн 2023
23
~1 мин