Посмотрели кино – отдали телефон. Видеокарта в Android научилась раздавать права доступа кому попало
NewsMakerЗакрытая уязвимость в Android все еще тревожит специалистов.
Уязвимость в графическом процессоре смартфона может звучать как узкая история для специалистов, но на деле речь идёт о прямой дороге к полному захвату Android-устройства . Авторы нового разбора CVE-2024-23380 показали , как ошибка в драйвере Qualcomm KGSL позволяла приложению без разрешений получить права root, то есть доступ почти ко всем функциям системы.
Проблема затрагивала механизм работы с памятью графического процессора на устройствах с чипами Qualcomm. Драйвер Qualcomm KGSL служит посредником между Android и графическим процессором, а доступ к соответствующему устройству есть у обычных приложений. Именно поэтому такая ошибка особенно опасна: злоумышленнику не нужно сначала получать расширенные права, достаточно запустить приложение в обычной пользовательской среде.
Специалисты сосредоточились на так называемом Virtual Buffer Object, гибком механизме управления памятью. Такой объект позволяет графическому процессору работать с разрозненными участками памяти, что удобно для производительности, но усложняет внутреннюю логику драйвера. В CVE-2024-23380 ошибка возникала из-за состояния гонки при одновременной привязке и отвязке участков памяти. В результате драйвер мог освободить страницу памяти, хотя графический процессор продолжал считать участок действующим и обращаться к нему.
По сути, система теряла контроль над тем, кому принадлежит конкретный участок памяти. Освобождённую страницу позже мог занять уже другой объект ядра, а доступ к содержимому оставался у атакующего через графический механизм. Такой сценарий открывал путь к изменению критически важных структур ядра и, в конечном счёте, к повышению привилегий до максимального уровня.
Уязвимость в графическом процессоре смартфона может звучать как узкая история для специалистов, но на деле речь идёт о прямой дороге к полному захвату Android-устройства . Авторы нового разбора CVE-2024-23380 показали , как ошибка в драйвере Qualcomm KGSL позволяла приложению без разрешений получить права root, то есть доступ почти ко всем функциям системы.
Проблема затрагивала механизм работы с памятью графического процессора на устройствах с чипами Qualcomm. Драйвер Qualcomm KGSL служит посредником между Android и графическим процессором, а доступ к соответствующему устройству есть у обычных приложений. Именно поэтому такая ошибка особенно опасна: злоумышленнику не нужно сначала получать расширенные права, достаточно запустить приложение в обычной пользовательской среде.
Специалисты сосредоточились на так называемом Virtual Buffer Object, гибком механизме управления памятью. Такой объект позволяет графическому процессору работать с разрозненными участками памяти, что удобно для производительности, но усложняет внутреннюю логику драйвера. В CVE-2024-23380 ошибка возникала из-за состояния гонки при одновременной привязке и отвязке участков памяти. В результате драйвер мог освободить страницу памяти, хотя графический процессор продолжал считать участок действующим и обращаться к нему.
По сути, система теряла контроль над тем, кому принадлежит конкретный участок памяти. Освобождённую страницу позже мог занять уже другой объект ядра, а доступ к содержимому оставался у атакующего через графический механизм. Такой сценарий открывал путь к изменению критически важных структур ядра и, в конечном счёте, к повышению привилегий до максимального уровня.