Vývojári projektu GrapheneOS, ktorý rozvíja zabezpečenú vetvu kódovej základne AOSP (Android Open Source Project), objavili zraniteľnosť v Bluetooth stacku platformy Android 14, ktorá môže potenciálne viesť k vzdialenému vykonaniu kódu. Problém je spôsobený prístupom k už uvoľnenej oblasti pamäte (use-after-free) v kóde spracovania zvuku prenášaného cez Bluetooth LE.
Zraniteľnosť bola odhalená vďaka integrácii dodatočnej ochrany do volania hardened_malloc, ktorá využíva rozšírenie ARMv8.5 MTE (MemTag, Memory Tagging Extension), umožňujúce priradiť značky k každej operácii alokácie pamäte a organizovať kontrolu správnosti použitia ukazovateľov, aby sa zablokovalo zneužívanie zraniteľností spôsobených prístupom k už uvoľneným blokom pamäte, preplneniami bufferov, prístupmi pred inicializáciou a použitím mimo aktuálneho kontextu.
Chyba sa prejavuje od aktualizácie Android 14 QPR2 (Quarterly Platform Release), ktorá bola zverejnená začiatkom marca. V hlavnej kódovej báze platformy Android 14 je mechanizmus MTE dostupný ako možnosť a zatiaľ nie je aplikovaný predvolene, ale v GrapheneOS ho už využili na dodatočnú ochranu, čo umožnilo diagnostikovať chybu po aktualizácii na Android 14 QPR2. Chyba spôsobovala haváriu pri používaní Bluetooth slúchadiel Samsung Galaxy Buds2 Pro s firmware, v ktorom je zapnutá ochrana založená na MTE. Analýza incidentu naznačila, že problém súvisí s prístupom k už uvoľnenej pamäti v spracovateľovi Bluetooth LE, a nie s chybou spôsobenou integráciou MTE.
Zraniteľnosť bola odstránená vo vydaní GrapheneOS 2024030900 a týka sa zostáv pre smartfóny, v ktorých nie je zapnutá dodatočná hardvérová ochrana založená na rozšírení MTE (MTE je zatiaľ zapnuté len pre zariadenia Pixel 8 a Pixel 8 Pro). Zraniteľnosť sa reprodukuje na smartfónoch Google Pixel 8 s firmware založeným na Android 14 QPR2. V Androide pre smartfóny série Pixel 8 je možné zapnúť režim MTE v nastaveniach pre vývojárov ("Nastavenia / Systém / Možnosti vývojára / Rozšírenia označovania pamäte"). Zapnutie MTE vedie k zvýšeniu spotreby pamäte asi o 3 %, ale neznižuje výkon.
Zdroj: opennet.ru
