lukasmaar/qaic-page-uaf

GitHub: lukasmaar/qaic-page-uaf

针对 Qualcomm QAIC 内核驱动页面级 UAF 漏洞的本地权限提升 PoC 项目,附带完整的 QEMU 复现环境与调试工具链。

Stars: 11 | Forks: 3

# 页面 UAF QAIC 本仓库包含一个针对 QAIC page 级别 UAF(释放后使用)漏洞的本地权限提升方案。它包含一个可启动的 QEMU 镜像、一个已打补丁的内核镜像、与 QAIC 相关的内核模块,以及一个用户态的 PoC(概念验证)。 [poc.webm](https://github.com/user-attachments/assets/41bfa89d-fd8f-4ac4-aa24-b13be251c288) ## 快速开始 构建内核镜像和 QAIC/MHI 模块,然后将它们放入 `images/` 和 `vmshare/module/` 中。如果缺少 `linux/` 目录,脚本会下载配置好的上游 Linux commit,应用 `qaic-fake-online.patch`,安装 `config`,然后进行构建: ``` make build-kernel ``` 构建用户态 exploit 并将其复制到 VM 共享目录中: ``` make build-exploits ``` 启动 VM: ``` make run-vm ``` 附加 GDB 到内核: ``` make gdb ``` 通过顶层 Makefile 运行所有操作: ``` make ``` ## 内核与修复参考 - 使用的 Linux 内核基础 commit:`7d0a66e4bb9081d75c82ec4957c50034cb0ea449` (`Linux 6.18`)。 - 内核 commit 网页:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7d0a66e4bb9081d75c82ec4957c50034cb0ea449 - QAIC 修复补丁网页:https://lore.kernel.org/all/20260423204412.2861046-1-zachary.mckevitt@oss.qualcomm.com/ ## 仓库结构 - `Makefile`:顶层辅助目标,用于构建 exploit、启动 VM、启动 GDB 以及清理暂存的内核构建产物。 - `build-kernel.sh`:构建本地 `linux/` 源码树,将 `vmlinux`、`bzImage` 和 `System.map` 放入 `images/`,并将 `qaic.ko` 和 `mhi.ko` 放入 `vmshare/module/`。如果缺少 `linux/`,它会下载配置好的 Linux commit,应用 `qaic-fake-online.patch`,并首先安装 `config`。 - `config`:使用的内核配置。 - `qaic-fake-online.patch`:该补丁使得 QAIC 路径可以在没有真实 Qualcomm Cloud AI 100 硬件的本地离线环境中使用。 - `vm-start.sh`:使用已暂存的内核、原始磁盘镜像、9p 共享文件夹、伪造的 QAIC 启用设置、TCP 端口 `1234` 上的默认 GDB stub 以及 `--no-kvm`、`--no-kaslr` 和 `--wait-gdb` 等辅助选项来启动 Buildroot QEMU VM。 - `gdb-start.sh`:针对 `images/vmlinux` 启动 GDB。 - `exploits/`:用户态 PoC(概念验证)源码树。详见 `exploits/README.md`。 - `images/`:QEMU 使用的内核和磁盘构建产物。详见 `images/README.md`。 - `vmshare/`:通过 9p 导出到 VM 中的宿主机目录。详见 `vmshare/README.md`。
标签:Linux内核, Web报告查看器, 安全渗透, 客户端加密, 本地提权, 概念验证, 身份验证强制, 释放后重用, 高通AI加速器