在最新的 OxygenOS 系統下,一部 OnePlus 15 手機可能被使用者安裝的惡意應用程式取得 Root 權限,而該應用程式甚至不需要任何特殊權限。
研究人員 Rasmus Moorats 串聯了 OnePlus 自家軟體中的兩項漏洞,成功取得了對 Android 手機的最高控制權——Root 權限。
OnePlus 告知他,相同的漏洞影響了其更多裝置以及 OPPO 的裝置,但尚未具體說明是哪些型號。
OnePlus 在五月份確認了這兩項漏洞。在同一份回覆中,該公司告知 Moorats,只有他們自己決定何時公開漏洞,並警告未經許可的發布可能導致法律責任。儘管如此,在 OnePlus 發布修補程式之前,他於九月二十四日仍選擇公開了這些資訊。
OnePlus 在其回覆中闡述了其立場,Moorats 已完整公布了該回覆。公司表示已排定修補程式的發布時程,但聲稱擁有「漏洞揭露的唯一最終決定權」,並告知他即使修補程式發布後,研究人員也不能自行發布完整的技術細節。
該公司辯稱,歐洲的網路安全法規要求製造商接受並修補報告,但不允許研究人員未經製造商同意即揭露漏洞。他們警告,如果他未經許可發布,OnePlus 將「根據適用法律追究相關法律責任」。
Moorats 在名為 AtlasService 的 OnePlus 服務中發現了第一個漏洞。該服務用於收集除錯資料,以 Root 權限運行,並接受任何應用程式的呼叫,而不檢查呼叫者是誰。
一個精心製作的呼叫會觸及一個 OnePlus 的除錯工具,該工具會接收應用程式的文字並將其直接寫入系統命令,而不進行檢查。這使得應用程式獲得了 Root 權限,但僅限於一個稱為 dumpstate 的受限系統區域內,該區域無法執行 Root 權限通常能執行的所有操作。
第二個漏洞完成了整個過程。OnePlus 隨附了另一個名為 olc2 的硬體輔助服務,其中包含一個可以執行接收到的任何 shell 指令的命令。其唯一的防護措施是呼叫者必須已經是 Root 使用者,而第一個漏洞恰好提供了這一點。
這次,命令在一個授予所有低階 Linux 權限的區域內運行,包括載入核心程式碼的能力,這使得應用程式能夠在系統層級控制裝置。
此攻擊是本地攻擊。惡意應用程式必須先安裝並在手機上運行,因此無法透過網際網路發動。但一旦應用程式存在於手機上,它就不需要任何權限,也不會向使用者顯示任何提示,而且在 Moorats 未修改過的標準手機上測試有效。
沒有證據表明有人在實際攻擊中使用過這些漏洞。
Moorats 也證實了在較舊的 OnePlus 12 Pro 手機上也存在此攻擊,他預計 OxygenOS 16 系統普遍存在此問題。OnePlus 和 OPPO 的手機基於共享軟體架構,這也是為何 OnePlus 的警告同時涵蓋了兩者。
截至 Moorats 公開此漏洞時,OnePlus 尚未分配 CVE 編號,也未發布修補程式,也找不到標示這些漏洞的 OnePlus 公告。在修補程式發布之前,唯一的實際防禦措施是攻擊發動的前提:僅從您信任的來源安裝應用程式,因為如果手機上沒有惡意應用程式,此攻擊就無法運行。
根據 Moorats 的說法,此漏洞的揭露過程歷時約五個月:
另外,這並非近期唯一一起已安裝應用程式能在旗艦 Android 手機上取得 Root 權限的案例。
八月份,安全公司 Calif 的研究人員 Lukas Maar 展示了一種不同的技術,該技術透過攻擊製造商添加到 Android 的程式碼,讓一個無需權限的應用程式能夠取得運行最新韌體的 Samsung、Xiaomi、OPPO、OnePlus 和 Realme 手機的 Root 權限。
OnePlus 過去也曾對研究人員的回應緩慢。2025 年,Rapid7 報告了一項獨立的 OxygenOS 漏洞,該漏洞允許任何應用程式讀取使用者的簡訊,並表示 OnePlus 在研究公開之前並未作出回應。


