FELIXDONALDO/CVE-2026-KGSL-UAF
GitHub: FELIXDONALDO/CVE-2026-KGSL-UAF
高通 Adreno KGSL GPU 内核驱动 syncsource fence 竞态条件 use-after-free 漏洞的完整披露仓库,含 PoC 代码与根因分析。
Stars: 0 | Forks: 0
# CVE-2026-XXXXX — KGSL Syncsource Fence Use-After-Free
**严重程度:** Critical (CVSS 7.8)
**组件:** Qualcomm Adreno KGSL GPU Kernel Driver
**受影响范围:** 所有搭载 Snapdragon SoC 的 Android 设备(Android 15/16 GKI,Linux 6.6)
**发现日期:** 2026 年 6 月
## 概述
`kgsl_ioctl_syncsource_create_fence()` 中的一个竞态条件会导致内核内存发生 use-after-free write。无特权的 Android 应用可以利用此漏洞进行本地权限提升。
截至 2026 年 6 月 8 日,该漏洞存在于最新的上游 KGSL 驱动中(tag `v1.0.4`,commit `4300b655d3c0`)。
## 漏洞详情
```
fd_install(fd, sync_file->file); // fd visible to userspace
// ⚡ RACE: close(fd) → kfree(sfence)
param->fence_fd = fd;
spin_lock_irqsave(&syncsource->lock, flags);
list_add_tail(&sfence->child_list, ...); // UAF WRITE to freed memory
spin_unlock_irqrestore(&syncsource->lock, flags);
```
内核在将 fence 添加到 syncsource 的子列表**之前**,就调用了 `fd_install()`(使 fd 全局可见)。并发的 `close()` 会释放该 fence,随后的 `list_add_tail()` 会写入已释放的内存。
## 文件
| 文件 | 描述 |
|------|-------------|
| `README.md` | 本文件 |
| `advisory/advisory.md` | 完整的安全公告 |
| `poc/poc_kgsl_uaf.c` | 概念验证 (Proof-of-Concept) 源码 |
| `poc/poc_kgsl_uaf_arm64` | 预编译的 ARM64 二进制文件 |
| `docs/analysis.md` | 包含 refcount 追踪的完整根因分析 |
| `docs/trigger_sequence.md` | 线程交错与触发条件 |
## 其他发现
在同一代码库中还发现了另外三个漏洞(详见 `advisory/advisory.md`):
| # | 类型 | 严重程度 | 组件 |
|---|------|----------|-----------|
| 2 | TOCTOU → UAF | High | `kgsl.c` context detach |
| 3 | Uncounted pointer → UAF | High | `kgsl_sync.c` process release |
| 4 | AB-BA deadlock | Low | `kgsl_timeline.c` |
## 修复
将 `list_add_tail()` 移至 `fd_install()` 之前:
```
- fd_install(fd, sync_file->file);
- param->fence_fd = fd;
spin_lock_irqsave(&syncsource->lock, flags);
list_add_tail(&sfence->child_list, &syncsource->child_list_head);
spin_unlock_irqrestore(&syncsource->lock, flags);
+ fd_install(fd, sync_file->file);
+ param->fence_fd = fd;
```
## 参考
- 源码:https://github.com/qualcomm-linux/kgsl (branch `gfx-kernel.le.0.0`)
- Google VRP:https://bughunters.google.com
标签:Android, DSL, Linux内核, PoC, UAF漏洞, Web报告查看器, 安全渗透, 客户端加密, 提权, 暴力破解