打開網(wǎng)易新聞 查看精彩圖片

在 Android 操作系統(tǒng)中,研究人員發(fā)現(xiàn)了一個編號為 CVE-2024-31317 的嚴重漏洞。該漏洞允許攻擊者借助 Zygote 進程,在整個系統(tǒng)范圍內(nèi)執(zhí)行代碼并提升權限。此缺陷影響運行 Android 11 或更早版本的設備,在 Android 生態(tài)系統(tǒng)中暴露出一個不容忽視的安全隱患。

背景和漏洞詳細信息
打開網(wǎng)易新聞 查看精彩圖片
背景和漏洞詳細信息

Zygote 進程作為 Android 的基礎組件,承擔著生成新的應用程序和系統(tǒng)級進程的關鍵任務。它以系統(tǒng)權限運行,這使其成為了企圖提升訪問權限的攻擊者的重點目標。

打開網(wǎng)易新聞 查看精彩圖片

Android 啟動過程的高級概述

該漏洞的根源在于系統(tǒng)服務器處理 “hidden_api_blacklist_exemptions” 設置的方式。這種處理方式存在缺陷,導致某些應用程序能夠繞過 Android 的隱藏 API 限制。具體而言,系統(tǒng)服務器在向 Zygote 傳遞此設置時,未能正確轉(zhuǎn)義換行符,這一疏忽給攻擊者創(chuàng)造了可乘之機,他們能夠向 Zygote 進程注入任意命令。

通過 ADB Shell 進行利用
打開網(wǎng)易新聞 查看精彩圖片
通過 ADB Shell 進行利用

攻擊者可借助 Android Debug Bridge(ADB)Shell 來利用這一漏洞。ADB Shell 具備 “WRITE_SECURE_SETTINGS” 權限,能夠修改 “hidden_api_blacklist_exemptions” 設置。攻擊者通過向該設置注入惡意命令,就能夠以系統(tǒng)范圍的權限執(zhí)行任意代碼。

打開網(wǎng)易新聞 查看精彩圖片

Android 系統(tǒng)服務器源代碼中存在漏洞的部分。

概念驗證漏洞展示了攻擊者如何通過注入有效載荷來生成具有提升權限的新進程,從而將權限從普通 shell 用戶提升至系統(tǒng)用戶。據(jù)研究人員介紹,這一進程可被配置為執(zhí)行諸如啟動持久 shell 等命令,使得攻擊者能夠持續(xù)控制設備。

利用此漏洞可能引發(fā)嚴重后果。若漏洞未得到妥善清除,極有可能導致設備陷入啟動循環(huán)。

風險緩解措施
打開網(wǎng)易新聞 查看精彩圖片
風險緩解措施

為降低這些風險,用戶可以通過 ADB Shell 刪除被修改的 “hidden_api_blacklist_exemptions” 設置,然后重啟設備,以此恢復 Zygote 的正常運行。不過,這一操作也會清除任何已注入的有效載荷,意味著攻擊者若想重新獲取提升的訪問權限,需要再次重復利用該漏洞的過程。

此漏洞的發(fā)現(xiàn),凸顯了保護 Android 核心進程的重要性,同時也強調(diào)了及時進行漏洞修補,以防范此類安全隱患的緊迫性。

參考及來源:https://gbhackers.com/android-zygote-injection-flaw/