微軟報告了一個 ChromeOS 遠程內存損壞漏洞
微軟方面近日公布了?他們發(fā)現的有關 ChromeOS 漏洞的技術細節(jié)。公告指出,該公司在 ChromeOS 組件中發(fā)現了一個可以遠程觸發(fā)的內存損壞漏洞,允許攻擊者執(zhí)行拒絕服務 (DoS) 攻擊,或者在極端情況下執(zhí)行遠程代碼執(zhí)行 (RCE)。
微軟的一名研究人員在今年 4 月下旬向谷歌報告了該漏洞。谷歌將其分配為 CVE-2022-2587,CVSS 得分 9.8(程度歸類為嚴重)并描述為越界寫入,相關補丁已在 6 月發(fā)布。
ChromeOS 是一個使用 D-Bus 的操作系統(tǒng)。由于谷歌專有的強化措施,與 Windows 或 MacOS 相比,通常 ChromeOS 中被曝出的漏洞要更少。此次微軟所發(fā)現的是 ChromeOS 特定的內存損壞漏洞。
根據介紹,該漏洞被發(fā)現于 ChromiumOS Audio Server (CRAS) 中;CRAS 位于操作系統(tǒng)和 ALSA 之間,用于將音頻路由到新連接的支持音頻的外圍設備。此漏洞可以通過操縱音頻元數據遠程觸發(fā),攻擊者可能會誘使用戶滿足這些條件,例如通過簡單地在瀏覽器中或從配對的藍牙設備播放一首新歌曲,或利用 adversary-in-the-middle (AiTM) 功能遠程利用該漏洞。
安全研究人員在檢查一個名為 SetPlayerIdentity 的處理函數后發(fā)現,該處理函數調用了 C 庫函數 strcpy。
“眾所周知,strcpy 函數會導致各種內存損壞漏洞,因為它不執(zhí)行任何邊界檢查,因此被認為是不安全的。由于在調用 strcpy 之前沒有對用戶提供的身份參數進行邊界檢查(除了 D-Bus 消息的默認消息長度限制),我們確信我們可以觸發(fā)基于堆的緩沖區(qū)溢出,從而觸發(fā)內存損壞漏洞?;诙训木彌_區(qū)溢出可能是多個漏洞的原因,最臭名昭著的是通過各種手段導致任意代碼執(zhí)行。”
不過微軟并沒有發(fā)現任何該漏洞被利用的跡象。“基于堆的緩沖區(qū)溢出的影響范圍從簡單的 DoS 到成熟的 RCE。盡管可以通過媒體元數據操作來分配和釋放塊,但在這種情況下執(zhí)行精確的堆清理并非易事,攻擊者需要將漏洞與其他漏洞鏈接起來才能成功執(zhí)行任意代碼??紤]到漏洞的潛在影響,再加上它可以被遠程觸發(fā),這是一個安全風險,證明了漏洞優(yōu)先級和修復發(fā)布的速度是合理的?!?/p>
微軟稱贊了谷歌在報告后解決問題的速度,“我們對漏洞修復的速度和整個過程的有效性印象深刻。在不到一周的時間里,代碼就被 commit 了,并在幾次合并后普遍可供用戶使用。我們感謝 Google 團隊和 Chromium 社區(qū)為解決該問題所做的努力?!?