Компания ARM раскрыла сведения о трёх уязвимостях в драйверах для своих GPU, используемых в Android, ChromeOS и дистрибутивах Linux. Уязвимости позволяют непривилегированному локальному пользователю выполнить свой код с правами ядра. В октябрьском отчёте о проблемах с безопасностью в платформе Android упоминается, что до появления исправления одна из уязвимостей (CVE-2023-4211) уже задействована злоумышленниками в рабочих эксплоитах для совершения целевых атак (0-day). Например, уязвимость может применяться в распространяемых через сомнительные источники вредоносных приложениях для получения полного доступа к системе и установки компонентов, шпионящих за пользователем.
Найденные уязвимости:
- CVE-2023-4211 – выполнение некорректной операции с памятью GPU может привести к получению доступа к уже освобождённой системной памяти, которая может быть задействована в процессе выполнения других задач в ядре. Уязвимость устранена в обновлении драйвера r43p0 для GPU Mali на базе микроархитектур Bifrost и Valhall, а также 5 поколения GPU ARM. Для GPU семейства Midgard обновление драйвера не выпущено.
Исправление также предложено в составе сентябрьских обновлений веток Chrome OS 114/115/116 и октябрьского обновления Android. Уязвимые модели GPU используются в смартфонах Google Pixel 7, Samsung S20 and S21, Motorola Edge 40, OnePlus Nord 2, Asus ROG Phone 6, Redmi Note 11, 12, Honor 70 Pro, RealMe GT, Xiaomi 12 Pro, Oppo Find X5 Pro, Reno 8 Pro и некоторых устройствах с чипами Mediatek.
- CVE-2023-33200 – некорректные операции с GPU могут привести к состоянию гонки и получению доступа к уже освобождённой драйвером памяти. Уязвимость устранена в обновлениях драйверов r44p1 и r45p0 для GPU Mali на базе микроархитектур Bifrost и Valhall, а также 5 поколения GPU ARM.
- CVE-2023-34970 – некорректные операции с GPU могут привести к переполнению буфера и получению доступа к памяти за пределами выделенного буфера. Уязвимость устранена в обновлениях драйверов r44p1 и r45p0 для GPU Mali на базе микроархитектуры Valhall и 5 поколения GPU ARM.
Всего в октябрьском отчёте об уязвимостях в Android упомянуто 53 уязвимости, из которых 5 уязвимостям присвоен критический уровень опасности, а остальным – высокий уровень опасности. Критические проблемы позволяют совершить удалённую атаку для выполнения своего кода в системе. Проблемы, помеченные как опасные, позволяют через манипуляции с локальными приложениями выполнить код в контексте привилегированного процесса. Три критические проблемы (CVE-2023-24855, CVE-2023-28540 и CVE-2023-33028) выявлены в проприетарных компонентах Qualcomm и две (CVE-2023-40129, CVE-2023-4863) в системе (в libwebp и в Bluetooth-стеке). Всего в компонентах ARM выявлено 5 уязвимостей, MediaTek – 3, Unisoc – 1 и Qualcomm – 17 (отчёт от Qualcomm). Две уязвимости (одна в GPU ARM и одна в libwebp) отмечены как уже используемые атакующими в своих эксплоитах (0-day).