CVE-2023-4211

Arm Mali GPU Kernel Driver

ВЕРОЯТНОСТЬ 0.2%

Дата обнаружения

2023-10-03

Официальное описание

Arm Mali GPU Kernel Driver contains a use-after-free vulnerability that allows a local, non-privileged user to make improper GPU memory processing operations to gain access to already freed memory.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2023-4211 представляет собой критическую уязвимость класса Use-After-Free (использование памяти после освобождения) в драйвере ядра графического процессора Arm Mali.

Проблема возникает из-за некорректной обработки операций с памятью GPU. Локальный непривилегированный пользователь может инициировать манипуляции с памятью, которые позволяют получить доступ к уже освобожденным участкам памяти. В контексте ядра это приводит к следующим рискам: * Повышение привилегий: Злоумышленник может выполнить произвольный код с правами ядра (Kernel mode). * Раскрытие информации: Доступ к конфиденциальным данным других процессов, находящимся в памяти. * Нарушение целостности: Возможность модификации структур данных ядра.

Как исправить

Основным способом устранения уязвимости является обновление драйвера ядра Arm Mali до актуальной версии, в которой исправлена логика управления жизненным циклом объектов памяти.

  1. Определите текущую версию драйвера и архитектуру вашего GPU (серии Valhall, Bifrost или Midgard).
  2. Скачайте исправленную версию драйвера с официального сайта Arm или репозитория производителя вашего устройства. Уязвимость устранена в следующих выпусках:

    • Bifrost / Valhall GPU Kernel Driver: версия r43p0 и выше.
    • Midgard GPU Kernel Driver: версия r32p0 и выше.
  3. Если вы используете Android, проверьте наличие обновлений безопасности системы (Security Patch Level). Данная уязвимость была включена в бюллетень по безопасности Android.

  4. Для систем на базе Linux (Embedded) выполните сборку и установку обновленного модуля ядра:

make -C /lib/modules/$(uname -r)/build M=/path/to/new/mali_driver modules

sudo insmod /path/to/new/mali_driver/mali_kbase.ko

Временные меры

Если немедленное обновление драйвера невозможно, рекомендуется принять следующие меры для снижения риска эксплуатации:

  1. Ограничение доступа: Исключите возможность запуска недоверенного кода локальными пользователями. Уязвимость требует локального доступа к системе.
  2. Изоляция приложений: Используйте механизмы принудительного контроля доступа (SELinux, AppArmor) для ограничения доступа приложений к файлам устройств GPU (/dev/mali*), если их функционал этого не требует.
  3. Мониторинг: Настройте аудит системных вызовов для обнаружения аномальной активности, связанной с выделением и освобождением памяти GPU.
  4. Обновление микрокода: Убедитесь, что прошивка устройства (Firmware) также обновлена до последней доступной версии от производителя.