在最新的 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 在研究公開之前並未作出回應。

未修補的 OnePlus 漏洞讓已安裝的 Android 應用程式無需權限即可取得 Root 權限未修補的 OnePlus 漏洞讓已安裝的 Android 應用程式無需權限即可取得 Root 權限未修補的 OnePlus 漏洞讓已安裝的 Android 應用程式無需權限即可取得 Root 權限未修補的 OnePlus 漏洞讓已安裝的 Android 應用程式無需權限即可取得 Root 權限未修補的 OnePlus 漏洞讓已安裝的 Android 應用程式無需權限即可取得 Root 權限