一台运行最新版 OxygenOS 的 OnePlus 15,只需用户安装一个恶意应用即可被获取 root 权限——这个应用不需要请求任何特殊权限。安全研究员 Rasmus Moorats 串联了 OnePlus 自家软件中的两个漏洞,拿到了 Android 手机的最高控制权。

OnePlus 告知 Moorats,同样的漏洞还影响其更多自家机型以及 OPPO 的设备,但拒绝说明具体有哪些。OnePlus 已于 5 月确认了这两个漏洞,但在同一次回复中告诉 Moorats:何时公开漏洞由它独家决定,并警告未经允许发布可能招致法律责任。Moorats 仍然在 9 月 24 日发表了研究——此时 OnePlus 尚未发布任何修复。
OnePlus 的立场写在回复邮件中,Moorats 公开了全文。公司称修复已在计划中,但声称拥有"披露漏洞的独家最终权利",并告知研究员即便修复发布后,也不得自行发布完整技术细节。公司还辩称,欧洲网络安全规则要求厂商必须接收并修复报告,但不允许研究员在未获厂商同意的情况下披露。它警告,如果未经允许发布,OnePlus 将"依据适用法律追究相关法律责任"。
攻击如何实现
Moorats 在 OnePlus 一个名为 AtlasService 的服务中发现第一个漏洞。该服务收集调试数据、以 root 运行,并且接受任意应用的调用而不校验调用者身份。构造好的调用会触达一个 OnePlus 调试工具,该工具把应用传入的文本未经检查地拼进系统命令——应用由此获得 root,但仅限于名为 dumpstate 的受限系统区域,权限并不完整。
第二个漏洞补齐了剩下的一环。OnePlus 随机附带一个名为 olc2 的硬件辅助服务,它提供一条可以执行任意 shell 指令的命令,唯一的防护是调用者必须已经是 root——而这恰好由第一个漏洞提供。这一次,命令运行在一个拥有全部底层 Linux 特权的区域,包括加载内核代码的能力,应用由此获得系统级控制。
影响范围与建议
这种攻击是本地攻击:恶意应用必须先被安装到手机上才能运行,无法从互联网直接发起。但应用一旦装上,它不需要任何权限、不会向用户弹出任何提示,并且 Moorats 在一台未经修改的原装手机上复现成功。目前没有证据表明这些漏洞被用于真实攻击。
Moorats 还在一台较旧的 OnePlus 12 Pro 上确认了攻击可行,并预计 OxygenOS 16 整体都存在同样的问题。OnePlus 与 OPPO 的手机基于共享软件构建,这也是 OnePlus 的警告同时覆盖两者的原因。
截至 Moorats 披露时,OnePlus 没有分配 CVE 编号、没有发布修复,也找不到任何提及这两个漏洞的官方通告。在修复发布之前,唯一可行的防御就是这个攻击的起点本身:只从可信来源安装应用。
据 Moorats 的说法,整个披露过程持续了五个多月:
- 2026 年 4 月 18 日:向 OnePlus 报告两个漏洞。
- 5 月 20 日:OnePlus 确认漏洞,声称对披露拥有独家控制权,并警告发布将承担法律责任。
- 6 月 22 日:OnePlus 通报修复进展并要求暂缓,他同意不在 9 月 17 日前发布。
- 7 月 20 日和 9 月 11 日:两次询问进展,均无回复。
- 9 月 24 日:公开发布。
值得一提的是,"已安装应用拿到 root"并非孤例。今年 8 月,安全公司 Calif 的研究员 Lukas Maar 展示了另一种技术,通过攻击厂商加入 Android 的代码,让无权限应用在 Samsung、小米、OPPO、OnePlus 和 Realme 最新固件的锁定手机上拿到 root。OnePlus 此前也有怠慢研究者的先例:2025 年,Rapid7 报告过 OxygenOS 的另一个缺陷(任何应用可读取用户短信),并指出 OnePlus 直到研究公开后才作出回应。
本文翻译自 The Hacker News,原文地址:https://thehackernews.com/2026/09/unpatched-oneplus-flaws-let-installed.html


评论 0 条