lukasmaar/qaic-page-uaf

GitHub: lukasmaar/qaic-page-uaf

Stars: 5 | Forks: 1

# Page UAF QAIC This repository contains a local privilege escalation for a QAIC page-level use-after-free issue. It includes a bootable QEMU image, a patched kernel image, QAIC-related kernel modules, and a userspace proof-of-concept. [poc.webm](https://github.com/user-attachments/assets/41bfa89d-fd8f-4ac4-aa24-b13be251c288) ## Quick Start make build-kernel Build the userspace exploit and copy it into the VM share: make build-exploits Start the VM: make run-vm Attach GDB to the kernel: make gdb Run everything through the top-level Makefile: make ## Kernel And Fix Reference - Used Linux kernel base commit: `7d0a66e4bb9081d75c82ec4957c50034cb0ea449` (`Linux 6.18`). - Kernel commit webpage: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7d0a66e4bb9081d75c82ec4957c50034cb0ea449 - QAIC fix patch webpage: https://lore.kernel.org/all/20260423204412.2861046-1-zachary.mckevitt@oss.qualcomm.com/ ## Repository Layout - `Makefile`: Top-level helper targets for building the exploit, starting the VM, launching GDB, and cleaning staged kernel artifacts. - `build-kernel.sh`: Builds the local `linux/` tree, stages `vmlinux`, `bzImage`, and `System.map` into `images/`, and stages `qaic.ko` and `mhi.ko` into `vmshare/module/`. If `linux/` is missing, it downloads the configured Linux commit, applies `qaic-fake-online.patch`, and installs `config` first. - `config`: Kernel configuration used. - `qaic-fake-online.patch`: Patch that makes the QAIC path usable in the local offline setup without real Qualcomm Cloud AI 100 hardware. - `vm-start.sh`: Starts the Buildroot QEMU VM with the staged kernel, raw disk image, 9p shared folder, fake QAIC enablement, default GDB stub on TCP port `1234`, and helper options such as `--no-kvm`, `--no-kaslr`, and `--wait-gdb`. - `gdb-start.sh`: Starts GDB against `images/vmlinux`. - `exploits/`: Userspace proof-of-concept source tree. See `exploits/README.md`. - `images/`: Kernel and disk artifacts used by QEMU. See `images/README.md`. - `vmshare/`: Host directory exported into the VM through 9p. See `vmshare/README.md`.
标签:客户端加密