CVE-2024-4610
Arm Mali GPU Kernel Driver
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 до актуальной версии, в которой данная ошибка исправлена.
-
Обновите драйвер до версии r41p0 или выше.
-
Если вы используете Android, проверьте наличие обновлений безопасности системы (Security Patch Level) от июня 2024 года или более поздних.
-
Для разработчиков встраиваемых систем и сборщиков ядер: необходимо интегрировать патчи из официального репозитория Arm. Скачайте актуальный исходный код драйвера:
git clone https://github.com/ARM-software/mali-display-driver
- После обновления драйвера или наложения патча необходимо пересобрать ядро и перезагрузить устройство:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image
Временные меры
Если немедленное обновление драйвера невозможно, рекомендуется принять следующие меры для снижения поверхности атаки:
-
Ограничьте доступ к устройству: исключите возможность запуска недоверенного кода (приложений) локальными пользователями.
-
Изоляция процессов: используйте механизмы SELinux или AppArmor для жесткого ограничения доступа приложений к устройствам
/dev/mali*.
setenforce 1
-
Мониторинг: настройте аудит системных вызовов для обнаружения аномальной активности, связанной с выделением и освобождением памяти GPU.
-
Для Android-устройств: используйте режим "Strict Mode" и убедитесь, что включена проверка целостности системы (Verified Boot).