CVE-2024-4610

Arm Mali GPU Kernel Driver

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

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

2024-06-12

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

Arm Bifrost and Valhall GPU kernel drivers contain 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-2024-4610 представляет собой критическую уязвимость типа Use-After-Free (использование памяти после освобождения) в драйверах ядра графических процессоров Arm серий Bifrost и Valhall.

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

Уязвимость затрагивает версии драйверов от r34p0 до r40p0.

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

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

  1. Обновите драйвер до версии r41p0 или выше.

  2. Если вы используете Android, проверьте наличие обновлений безопасности системы (Security Patch Level) от июня 2024 года или более поздних.

  3. Для разработчиков встраиваемых систем и сборщиков ядер: необходимо интегрировать патчи из официального репозитория Arm. Скачайте актуальный исходный код драйвера:

git clone https://github.com/ARM-software/mali-display-driver

  1. После обновления драйвера или наложения патча необходимо пересобрать ядро и перезагрузить устройство:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image

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

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

  1. Ограничьте доступ к устройству: исключите возможность запуска недоверенного кода (приложений) локальными пользователями.

  2. Изоляция процессов: используйте механизмы SELinux или AppArmor для жесткого ограничения доступа приложений к устройствам /dev/mali*.

setenforce 1

  1. Мониторинг: настройте аудит системных вызовов для обнаружения аномальной активности, связанной с выделением и освобождением памяти GPU.

  2. Для Android-устройств: используйте режим "Strict Mode" и убедитесь, что включена проверка целостности системы (Verified Boot).