CVE-2021-28663

Arm Mali Graphics Processing Unit (GPU)

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

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

2021-11-03

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

Arm Mali Graphics Processing Unit (GPU) kernel driver contains a use-after-free vulnerability that may allow a non-privileged user to make improper operations on GPU memory to gain root privilege, and/or disclose information.

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

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

Уязвимость типа use-after-free в драйвере ядра (kernel driver) графического процессора (GPU) Arm Mali. Локальный непривилегированный пользователь может: * Выполнить специально созданный код, который манипулирует освобожденной памятью GPU. * Использовать это для эскалации привилегий до уровня root (суперпользователя). * Получить доступ к конфиденциальной информации в памяти ядра.

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

Решение — обновить драйвер GPU и/или ядро ОС до версии, содержащей исправления от Arm.

  1. Определите точную модель GPU и версию драйвера: bash cat /sys/kernel/debug/mali/gpu_info Или для устройств Android: bash dmesg | grep -i mali

  2. Установите обновления:

    • Для устройств с Android: Обновите прошивку устройства через настройки системы. Исправление включено в патчи безопасности Android, начиная с 2021-08-05. Требуется обновление от производителя устройства (OEM).
    • Для систем на Linux (например, серверы с GPU Arm): Обновите пакет ядра (linux-image) и драйверы Mali (mali-dkms, mali-kbase) из репозитория вашего дистрибутива. Ищите версии драйверов, содержащие исправления для CVE-2021-28663 (например, r28p0 или новее для определенных GPU).
    • Пример для Ubuntu/Debian: bash sudo apt update sudo apt upgrade linux-image-$(uname -r) linux-firmware # Если драйвер установлен отдельным пакетом (например, от Arm или производителя SoC): sudo apt install --only-upgrade mali-gpu-firmware mali-dkms
    • После обновления перезагрузите систему: bash sudo reboot

Временное решение

Если немедленное обновление невозможно, примените ограничительные меры:

  1. Ограничьте доступ к GPU: Настройте систему так, чтобы только доверенным пользователям и приложениям был доступен графический драйвер (устройство /dev/mali0 или аналогичное). Используйте списки контроля доступа (ACL) или cgroups. bash # Пример: изменим группу и права на устройство (путь может отличаться) sudo chown root:trusted_gpu_group /dev/mali0 sudo chmod 660 /dev/mali0 Добавьте в группу trusted_gpu_group только необходимых пользователей.

  2. Принудительное использование Control Groups (cgroups): Ограничьте для непривилегированных пользователей возможность взаимодействия с подсистемой устройств (devices cgroup), заблокировав доступ к файлам устройств Mali.

  3. Сегментация сети: Изолируйте уязвимые системы в отдельный сетевой сегмент. Заблокируйте все входящие подключения, кроме необходимых для администрирования (SSH). Используйте iptables или nftables: bash # Блокируем все входящие, кроме SSH (порт 22) sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -A INPUT -j DROP

Важно: Эти меры лишь усложняют эксплуатацию, но не устраняют уязвимость. Патч должен быть установлен как можно скорее.