Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² 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