Android 14 жүйесіндегі осалдықты Bluetooth LE арқылы пайдалануға болады

Разработчики проекта GrapheneOS, развивающего защищённое ответвление от кодовой базы AOSP (Android Open Source Project), выявили уязвимость в Bluetooth-стеке платформы Android 14, которая потенциально может привести к удалённому выполнению кода. Проблема вызвана обращением к уже освобождённой области памяти (use-after-free) в коде обработки звука, передаваемого через Bluetooth LE.

Уязвимость выявлена благодаря интеграции в вызов hardened_malloc дополнительной защиты, использующей расширение ARMv8.5 MTE (MemTag, Memory Tagging Extension), позволяющее привязать теги к каждой операции выделения памяти и организовать проверку корректности использования указателей для блокирования эксплуатации уязвимостей, вызванных обращением к уже освобождённым блокам памяти, переполнениями буфера, обращениями до инициализации и использованием вне текущего контекста.

Ошибка проявляется начиная с обновления Android 14 QPR2 (Quarterly Platform Release), опубликованного в начале марта. В основной кодовой базе платформы Android 14 механизм MTE доступен в качестве опции и пока не применяется по умолчанию, но в GrapheneOS его уже задействовали для дополнительной защиты, что дало возможность диагностировать ошибку после обновления до Android 14 QPR2. Ошибка приводила к аварийному завершению при использовании Bluetooth-наушников Samsung Galaxy Buds2 Pro с прошивкой, в которой включена защита на базе MTE. Разбор инцидента показал, что проблема связана с обращением к уже освобождённой памяти в обработчике Bluetooth LE, а не сбоем из-за интеграции MTE.

Уязвимость устранена в выпуске GrapheneOS 2024030900 и затрагивает сборки для смартфонов, в которых не включена дополнительная аппаратная защита на основе расширения MTE (MTE пока включён только для устройств Pixel 8 и Pixel 8 Pro). Уязвимость воспроизводится на смартфонах Google Pixel 8 с пошивкой на базе Android 14 QPR2. В Android для смартфонов серии Pixel 8 режим MTE можно включить в настройках для разработчиков («Settings / System / Developer options /Memory Tagging Extensions»). Включение MTE приводит к увеличению потребления памяти примерно на 3%, но не снижает производительность.

Ақпарат көзі: opennet.ru

пікір қалдыру