GrapheneOS 프로젝트 개발자들은 AOSP 코드베이스에서 안전한 포크 버전을 개발하고 있습니다.Android 오픈 소스 프로젝트(Open Source Project)는 플랫폼의 블루투스 스택에서 취약점을 발견했습니다. Android 14, которая потенциально может привести к удалённому выполнению кода. Проблема вызвана обращением к уже освобождённой области памяти (use-after-free) в коде обработки звука, передаваемого через Bluetooth LE.
ARMv8.5 MTE 확장(MemTag, Memory Tagged Extension)을 사용하여 hardened_malloc 호출에 추가 보호 기능이 통합되어 취약점이 식별되었습니다. 이를 통해 각 메모리 할당 작업에 태그를 바인딩하고 포인터의 올바른 사용을 확인하도록 구성할 수 있습니다. 이미 해제된 메모리 블록에 대한 접근, 버퍼 오버플로, 초기화 전 호출, 현재 컨텍스트 외부 사용으로 인해 발생하는 취약점 악용을 차단합니다.
Ошибка проявляется начиная с обновления 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
