Эксперты Google Project Zero бьют тревогу: сразу пять уязвимостей в драйвере графического процессора ARM Mali остаются неисправленными на множестве устройств, хотя производитель чипов выпустил патчи несколько месяцев назад. В результате миллионы устройств на Android могут быть уязвимы перед потенциальными атаками.
По информации экспертов, проблемы затрагивают устройства Google, Samsung, Xiaomi, Oppo и других производителей смартфонов, которые до сих пор ожидают исправлений. В своем отчете специалисты подчеркивают, что такие задержки исправлений регулярно вредят цепочке поставок Android, поскольку обычно нужно несколько месяцев, чтобы обновленные прошивки попали на конечные устройства пользователей.
Упомянутые уязвимость в драйвере графического процессора ARM Mali были обнаружены еще летом 2022 года. Проблемы отслеживаются под идентификаторами CVE-2022-33917 и CVE-2022-36449 (собирательный ID сразу для нескольких багов).
Уязвимость CVE-2022-33917 позволяет непривилегированному пользователю выполнить некорректные операции обработки для получения доступа к свободным разделам памяти. Уязвимость затрагивает драйверы ядра графического процессора Arm Mali от Valhall r29p0 до r38p0.
Второй баг, CVE-2022-36449, связан сразу с несколькими проблемами, которые позволяют непривилегированному пользователю получить доступ к освобожденной памяти, осуществлять запись за пределами буфера и раскрывать сведения о маппинге памяти. Уязвимость влияет на драйверы ядра графического процессора Arm Mali от Midgard r4p0 до r32p0; Bifrost от r0p0 до r38p0 и r39p0 до r38p1; а также Valhall от r19p0 до r38p0 и r39p0 до r38p1.
Сама команда Project Zero отслеживает эти проблемы как 2325, 2327, 2331, 2333 и 2334, детально описывает технические подробности багов, а также прилагает к своим отчетам демонстрирующий уязвимости код. Отмечается, что несмотря на среднюю степень серьезности, эти уязвимости несложно эксплуатировать, и они влияют на огромное количество Android-устройств.
К примеру, драйверы Valhall используются в чипах Mali G710, G610 и G510, установленных на Google Pixel 7, Asus ROG Phone 6, Redmi Note 11 и 12, Honor 70 Pro, RealMe GT, Xiaomi 12 Pro, Oppo Find X5 Pro и Reno 8 Pro, Motorola Edge и OnePlus 10R.
Драйверы Bifrost используются в более старых (2018 год выпуска) чипах Mali G76, G72 и G52, используемых такими устройствами, как Samsung Galaxy S10, S9, A51 и A71, Redmi Note 10, Huawei P30 и P40 Pro, Honor View 20, Motorola Moto G60S и Realme 7.
В свою очередь драйверы Midgard используются в еще более старых (2016 год выпуска) чипах серий Mali T800 и T700, которые можно найти на борту Samsung Galaxy S7 и Note 7, Sony Xperia X XA1, Huawei Mate 8, Nokia 3.1, LG X и Redmi Note 4.
К сожалению, пользователи не смогут защититься от этих уязвимостей, пока поставщик не предоставит им соответствующие исправления. Хуже того, крайне маловероятно, что старые модели смартфонов, использующие драйверы Midgard, вообще получат какие-то исправления.
Известно, что в данный момент патчи ARM не добрались до OEM-партнеров компании, и тестируются для устройств Android и Pixel. Ожидается, что исправления будут предоставлены партнерам ARM в ближайшие несколько недель.