A GrapheneOS projekt fejlesztői, akik a AOSP (Android Open Source Project) kódalap biztonságos ágazatát fejlesztik, sebezhetőséget tártak fel az Android 14 Bluetooth stack-jében, amely potenciálisan távoli kódvégrehajtáshoz vezethet. A probléma egy már felszabadított memória terület (use-after-free) eléréséből adódik a Bluetooth LE-n keresztül továbbított hang feldolgozó kódjában.
A sebezhetőséget a hardened_malloc hívásába integrált további védelem révén tárták fel, amely az ARMv8.5 MTE (MemTag, Memory Tagging Extension) kiterjesztést használja, lehetővé téve, hogy a címkék minden memóriafoglalás műveletéhez hozzárendelhetők legyenek, és ellenőrzéseket végezzenek a mutatók helyes használatának megakadályozására, ezzel blokkolva a már felszabadított memória blokkjainak, a puffermel túlcsordulásoknak, a inicializálás előtti eléréseknek és a jelenlegi kontextuson kívüli használatnak a sebezhetőségeit.
A hiba az Android 14 QPR2 (Negyedéves Platform Kiadás) frissítéssel kezdődően jelentkezik, amelyet március elején tettek közzé. Az Android 14 alap kódalapjában az MTE mechanizmusa opcióként elérhető, és jelenleg nem alkalmazzák alapértelmezettként, de a GrapheneOS már használja a további védelem érdekében, ami lehetővé tette a hiba diagnosztizálását az Android 14 QPR2-re való frissítés után. A hiba váratlan leállást okozott a Samsung Galaxy Buds2 Pro Bluetooth fülhallgató használata során, amelynek firmware-jében az MTE alapú védelem engedélyezve volt. Az incidens elemzése azt mutatta, hogy a probléma a Bluetooth LE kezelőjénél lévő már felszabadított memória elérésével volt összefüggésben, nem pedig MTE integrálásából fakadó hibából.
A sebezhetőséget a GrapheneOS 2024030900 kiadásában orvosolták, és érinti azokat a telefonösszeállításokat, amelyekben nincs engedélyezve a MTE kiterjesztés alapján működő további hardvervédelem (MTE jelenleg csak a Pixel 8 és Pixel 8 Pro készülékekhez van engedélyezve). A sebezhetőség a Google Pixel 8-ok esetében reprodukálható az Android 14 QPR2 alapú firmware-rel. Az Android Pixel 8 sorozatú telefonjain az MTE mód engedélyezhető a fejlesztői beállítások („Beállítások / Rendszer / Fejlesztői lehetőségek / Memória címkézési kiterjesztések”) menüben. Az MTE engedélyezése körülbelül 3% -os memóriafogyasztás növekedést eredményez, de nem csökkenti a teljesítményt.
Forrás: opennet.ru
