2026年6月底,一个编号为 CVE-2026-43499 的 Linux 内核漏洞被公开,被命名为 GhostLock——"一个在所有 Linux 发行版中存在了 15 年的栈 UAF"。
截至发稿,GitHub 上已有超过 7 个公开 PoC 仓库,看雪论坛上也出现了针对 OnePlus 13T(PLC110,kernel 6.6.89)的完整适配帖子。这个漏洞正在快速从理论走向实战。
这篇文章站在普通手机用户的角度,讲清楚这个漏洞是什么、对你有啥影响、哪些手机危险、以及现在该做什么。
一、这个漏洞到底有多严重?
先看 CVSS 评分:7.8 分(高危)。
| 维度 | 评级 |
|---|---|
| 攻击复杂度 | 低 |
| 攻击前提 | 本地访问(能装 App 即可) |
| 所需权限 | 低(普通 App 权限即可触发) |
| 影响 | 完整提权(拿到 root) |
简单翻译: 你手机上任何一个普通 App,只要利用这个漏洞,就能拿到系统的最高权限(root),然后为所欲为。
而且这不是某个厂商的定制系统漏洞,它是 Linux 内核本身的漏洞,影响范围极广——从 Linux 2.6.39 到 6.18.x 的几乎所有版本都受影响。
二、技术原理
2.1 GhostLock 是什么
GhostLock 是 Nebula Security 公开的 IonStack 利用链中的内核提权环节。整条链从 Firefox 渲染器漏洞(CVE-2026-10702,SpiderMonkey JIT 类型混淆)切入,衔接到内核 GhostLock 提权,最终拿到 root 并植入 su daemon。是一个完整的"浏览器入口 → 内核提权"的攻击链。
2.2 漏洞本质
这个漏洞藏在内核的 futex PI(优先级继承)requeue 路径里,是核心 futex 代码。
说人话:futex 是 Linux 里线程间"抢锁"的机制。PI-futex 是它的升级版——能防止高优先级线程被低优先级线程"堵车"。requeue 操作则允许把一个等待队列上的线程原子地转移到另一个队列。
漏洞的核心是:在 PI requeue 的超时清理路径中,内核引用了 已经无效的内核栈内存。具体来说:waiter 在等待期间其 task 栈可能被释放/复用,而清理代码仍按栈上保存的指针去解引用、去操作 PI 树,形成 内核栈 UAF(Use-After-Free)。
看雪帖子中的描述非常精准:
"waiter 的 WAIT_REQUEUE_PI 带了 5 秒超时。超时到期时,内核必须把 waiter 从 PI 树上摘除并回滚 PI 链。这段超时清理路径引用了已经无效的内核栈内存。"
2.3 漏洞触发
触发很简单:3 个 futex 字 + 3 个线程 → 构造 PI 死锁 → 超时触发 bug。
requeue 后,waiter 被挂入目标 futex 的 PI 等待树。但 owner 持有目标 futex 且在等另一个 futex,而 waiter 持有另一个 futex 且在等目标 futex——死锁。超时到期时,清理代码引用了已释放的栈内存。
2.4 完整利用链
从 PoC 到真正拿到 root,完整利用链如下:
Firefox 漏洞(CVE-2026-10702)
↓ 获得渲染器进程
GhostLock 触发(CVE-2026-43499)
↓ 内核栈 UAF
pselect6 栈控制(fd_set 直接在内核栈上铺伪造指针)
↓ 栈 UAF 可控化
KASLR 绕过(process_vm_readv 直接泄漏内核指针)
↓ 知道内核基址
configfs 任意读写
↓ 获得内核内存读写
pipe 物理读写(slab 风水 + 伪造 pipe_buffer->ops)
↓ 任意物理地址读写
cred / seccomp / selinux patch
↓ 提权
root + su daemon
关键细节:
栈控制手段:pselect6 路由。pselect 的 fd_set 参数直接在内核栈上,攻击者把伪造的指针铺进 fd_set,超时清理路径读到这些指针就完成了"栈 UAF 可控化"。在 OnePlus 13T(kernel 6.6.89)的适配中已验证此路由可行。
KASLR 绕过:直接泄漏,非暴力枚举。 process_vm_readv() 读取 /proc/<pid>/mem 来泄漏内核指针。校验仅要求 (leaked >> 48) == 0xffff(确认为内核指针),与 KASLR 滑到多高无关。
CFI 绕过: Pixel 10 内核开启了 CONFIG_CFI_CLANG,间接调用会校验目标函数签名。绕过方法是在伪造结构体里让每个函数指针都指向同签名的合法内核函数。
三、谁在适配这个漏洞
看雪论坛上已有开发者发布了针对 OnePlus 13T(PLC110,kernel 6.6.89 GKI) 的完整适配帖子,标题为《一加ACE5至尊版 kernel 6.6.89尝试利用GhostLock / IonStack 进行root提权》。
关键信息:
- 所有偏移数据均来自真机实测(root kallsyms + BTF + IDA),非照抄原 Pixel 10 target
- 原 IonStack 仅针对 Pixel 10 系列(Android 17)提供了 39 个固件的 target 配置
- 适配的核心工作是重新提取全部内核符号/结构体偏移,并验证各子技术在本机内核上的兼容性
这意味着,虽然完整公开的"一键 root"工具还没出来,但有经验的开发者已经在把自己的手机变成试验台,逐个击破适配障碍。
四、影响范围
4.1 受影响的 Linux 版本
Linux 2.6.39 到 6.18.x 全线受影响。 这是一个存续了超过 15 年的老 bug。
4.2 已修复的版本
| 分支 | 修复版本 |
|---|---|
| Linux 6.1 LTS | 6.1.175 |
| Linux 6.6 LTS | 6.6.140 |
| Linux 6.12 LTS | 6.12.86 |
| Linux 6.18 | 6.18.27 |
| Linux 7.0 | 7.0.4 |
修复补丁由 Keenan Dong 提交、Thomas Gleixner 合入内核主线,commit 为 3bfdc63。
4.3 手机品牌影响
几乎所有使用受影响 Linux 内核版本的 Android 手机都存在此漏洞。各大品牌的 ColorOS、HyperOS、OriginOS、One UI、HarmonyOS 等系统均受影响。
4.4 已确认有社区适配的机型
- OnePlus 13T(PLC110) — 6.6.89 GKI,看雪开发者已完成完整适配
- OPPO Find N2(PGU110) — 5.10.236 内核,社区适配进行中
- OPPO Find X9 Pro(PLG110) — 6.12.23 内核,漏洞可触发,利用链条存在阻塞
- OnePlus 10T(CPH2413) — 已验证
五、我的实际验证
我手上有一台 OPPO Find X9 Pro(PLG110,kernel 6.12.23),针对这个漏洞做了一些验证。
5.1 GKI 偏移一致性
我验证的一个关键发现:对于 GKI 设备,同一内核版本的不同 OEM 内核,其结构体偏移量完全一致。 这意味着针对 Google Pixel 设备分析出的偏移可以直接复用在同版本的其他品牌设备上。这大大降低了适配成本,但也意味着一个被攻破的内核版本,所有使用该版本的设备都面临同样的风险。
5.2 Android 16 的 SELinux 封锁
Android 16 引入了更激进的 SELinux 策略,彻底禁止了 /proc/<pid>/mem 的读取。传统的通过读取 /proc/<pid>/mem 泄漏内核地址的方法行不通了。不过 process_vm_readv() 在 Android 16 上仍可正常工作,这也是当前绕过手段。
5.3 无 KASLR 的例外
我在测试中发现,我手上这台 OPPO Find X9 Pro 的 PLG110 内核(82efd98459a2)未启用 KASLR。这意味着攻击者可以直接知道内核基址,利用难度大幅降低。对开发者来说是好事,但对用户来说意味着更高的被攻击风险。
5.4 完整 root 当前状态
GhostLock 可触发(确认存在漏洞),但完整的 root 利用链尚未在 OPPO Find X9 Pro 上实现。主要卡点与 OPPO Find N2 版本一致——缺少合适的栈回收方法来写入可控数据。不过在 OnePlus 13T 上已验证 pselect6 路由可行,说明这条路是通的,只是需要针对各内核版本做适配。
六、你会不会已经中招?
目前情况下,普通用户基本不可能被这个漏洞攻击:
- 完整提权利用链尚未在一键工具层面公开
- 现阶段的 PoC 只会导致内核崩溃(手机重启),不会静默提权
- 攻击者需要先让你安装恶意 App
但如果你的手机在没有明显原因的情况下频繁重启,尤其是在锁屏或者运行某个特定 App 时,那就要警惕了。
七、你现在该做什么?
✅ 第一步:检查内核版本
设置 → 关于手机 → 内核版本
如果内核版本在 2.6.39 至 6.18.x 之间(不含修复版本),你的手机存在漏洞。
✅ 第二步:等厂商更新
修复补丁已在 2026 年 6 月合入 Linux 主线,各厂商正在适配推送。留意系统更新中的"安全补丁级别"描述。
✅ 第三步:做好基础防护
- 只从官方应用商店装 App,不要轻易 sideload
- 不要授予可疑 App 无障碍权限或其他高级权限
- 及时安装系统更新
✅ 第四步:如果你会折腾
- 关注 NebuSec CyberMeowfia 项目,了解最新进展
- 看雪帖子《一加ACE5至尊版 kernel 6.6.89尝试利用GhostLock / IonStack 进行root提权》有详细的适配过程记录
- 如需尝试,请确保知道自己在做什么——刷机有风险
八、关于 root
这个漏洞被安全社区广泛关注,除了它的破坏力之外,还有一个原因:它可能成为新一代 bootloader 锁定的 Android 设备的 root 通道。
对于 OPPO Find X9 Pro(PLG110)等 bootloader 无法解锁的设备而言,内核漏洞几乎是唯一的提权入口。如果有朝一日完整的利用链公开,它可能带来通过 su 获得 root shell、修改系统分区的能力,且无需解锁 bootloader。
当然,这也意味着恶意软件也能利用同样的通道。这既是机遇也是风险。
参考资料
- 看雪论坛 — 一加ACE5至尊版 kernel 6.6.89尝试利用GhostLock / IonStack 进行root提权
- CVE-2026-43499 NVD 条目
- Linux 内核修复补丁 — commit 3bfdc63
- MobiusM/CVE-2026-43499 — 原始 PoC
- pubglite55/oppo-ghostlock — OPPO Find N2 适配版
- tc3650/CVE-2026-43499-armv7 — ARMv7 适配版
- NebuSec CyberMeowfia — 原始研究项目
- NebuSec IonStack Part I — Firefox 漏洞分析
- NebuSec IonStack Part II — Android ASLR 绕过
发表回复