Android 14 的漏洞可透過藍牙 LE 進行利用

GrapheneOS 專案開發了 AOSP(Android 開源專案)程式碼庫的安全分支,其開發人員發現了 Android 14 平台的藍牙堆疊中的一個漏洞,該漏洞可能會導致遠端程式碼執行。此問題是由於存取透過藍牙 LE 傳輸的音訊處理代碼中已釋放的記憶體區域(釋放後使用)而引起的。

該漏洞的發現是由於使用 ARMv8.5 MTE 擴充功能(MemTag,記憶體標記擴充)將額外的保護整合到了 Hardened_malloc 呼叫中,該擴充功能允許您將標籤綁定到每個記憶體分配操作並組織檢查指標的正確使用阻止利用因存取已釋放的記憶體區塊、緩衝區溢位、初始化先前的呼叫以及在當前上下文之外使用而導致的漏洞。

自 14 月初發布 Android 2 QPR14(季度平台發布)更新以來,該錯誤一直出現。在 Android 14 平台的主程式碼庫中,MTE 機製作為一個選項提供,預設尚未使用,但在 GrapheneOS 中已經啟用了它以提供額外的保護,這使得更新到後可以診斷錯誤安卓 2 QPR2。當使用具有啟用基於 MTE 保護的韌體的三星 Galaxy BudsXNUMX Pro 藍牙耳機時,該錯誤會導致崩潰。對該事件的分析表明,該問題與存取藍牙 LE 處理程序中已釋放的記憶體有關,而不是由於 MTE 整合而導致的故障。

此漏洞已在 GrapheneOS 版本 2024030900 中修復,影響不包含基於 MTE 擴充功能的額外硬體保護的智慧型手機版本(MTE 目前僅針對 Pixel 8 和 Pixel 8 Pro 裝置啟用)。該漏洞在運行 Android 8 QPR14 的 Google Pixel 2 智慧型手機上重現。在 Pixel 8 系列智慧型手機的 Android 上,可以在開發者設定(「設定/系統/開發者選項/記憶體標記擴充功能」)中啟用 MTE 模式。啟用 MTE 會使記憶體消耗增加約 3%,但不會降低效能。

來源: opennet.ru

添加評論