Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
vivo_iqoo_neo_9_root_research_on_CVE-2025-21479 | Kitploit
Tools/GitHubGitHub/linux-tools/vivo_iqoo_neo_9_root_research_on_cve-2025-21479
Android SecurityPrivilege EscalationExploitationReverse EngineeringPost-ExploitationMobile SecurityBinary Exploitation
GitHublinux-tools/vivo_iqoo_neo_9_root_research_on_cve-2025-21479

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

vivo_iqoo_neo_9_root_research_on_CVE-2025-21479

Repository anzeigen
6211vor 9 TagenNoch nicht geprüft
Teilen
Inhalt in der angeforderten Sprache nicht verfügbar. Englische Version wird angezeigt.

vivo iQOO Neo 9 Root 研究(CVE-2025-21479)

本项目是基于 CVE-2025-21479(Qualcomm Adreno A7xx GPU 固件逻辑漏洞)的本地提权研究成果, 目标设备为 vivo iQOO Neo 9(Snapdragon 8 Gen 2 / Adreno 740 / A7xx 系列 GPU)。

仓库仅保留可直接使用的二进制产物:利用程序、KernelSU 内核模块、用户态工具、测试内核模块与 APK。

⚠️ 免责声明 本项目仅用于安全研究与学习目的。请仅在自有设备上进行测试。 请勿将相关技术与产物用于任何未授权设备或非法用途,由此产生的一切后果由使用者自行承担。


1. 漏洞背景(CVE-2025-21479)

CVE-2025-21479 是高通 Adreno A7xx 系列 GPU 固件微码中的权限校验逻辑缺陷:

  • 自 A7xx 起,GPU 指令缓冲层级由 4 级扩展为 5 级(新增 IB3),但固件微码仍以 level AND 0x3 判定权限层级;

  • 在最低特权层级(SDS / IB4)执行时 4 AND 3 == 0,被误判为最高权限的 RB 级,从而放行 CP_SMMU_TABLE_UPDATE 等特权指令;

  • 攻击者可借此重配 GPU 一级页表,获得任意物理内存读写原语,进而绕过 KASLR 等防护,篡改内核数据(如 selinux_state)并完成提权。

  • 修复:Qualcomm 2025 年 6 月安全公告(GPU 固件 v675 → v676,掩码由 0x3 改为 0x7)。

  • 影响范围:搭载 Adreno A7xx GPU(如 Snapdragon 8 Gen 1/2)且安全补丁在修复前的设备。

  • 本项目的利用链:GPU 任意物理内存读写 → KASLR 泄露 → SELinux 置为 permissive → 内联 hook 建立 root 守护进程(rootd), 并在此基础上加载 KernelSU(kernelsu-vivo.ko)实现长效 root 管理。


    2. 目录结构

    root@kitploit:~
    ├── exploit/                    # 漏洞利用与客户端工具
    │   ├── exploit_vivo_neo9       # 主利用程序(自包含,含 rootd 守护进程,每次开机运行一次)
    │   ├── exploit_vivo_neo9_ndk   # NDK 重新编译的利用程序(精简版)
    │   ├── exploit_vivo_neo9_ndk13 # NDK 13 编译的利用程序(精简版)
    │   ├── exploit0_selinux_only   # 仅做 SELinux permissive 的变体(不注入 rootd)
    │   └── client/                 # rootd 客户端工具(部署到 /data/local/tmp 使用)
    │       ├── rootc               # root 命令客户端:通过文件通道与 rootd 通信执行命令
    │       ├── u0                  # 真 root (euid=0) 执行器,绕过 euid=2000 受限接口
    │       ├── su                  # su 增强版包装脚本(rootc/u0 双模式,见下文)
    │       └── shim.so             # 共享库 shim(配合宿主进程注入执行)
    ├── kernel-module/
    │   └── kernelsu-vivo.ko        # 适配 vivo 内核的 KernelSU 内核模块(作者 weishu)
    ├── userspace/                  # KernelSU 用户态工具
    │   ├── ksud                    # KernelSU 守护进程(负责加载/管理 kernelsu.ko)
    │   ├── su_ksu                  # KernelSU 的 su 二进制(由 su_patched.c 编译)
    │   ├── asuid                   # 以指定 Android UID 执行命令的工具(asuid <uid> <cmd...>)
    │   ├── ksu_feature_probe       # KernelSU 功能探测工具
    │   ├── ksu_probe / ksu_probe2  # KernelSU 特性/环境探测工具
    │   └── su_test2                # su 功能测试工具
    ├── test-modules/               # 内核测试/辅助模块(供调试与软重启兼容使用)
    │   ├── ksu_testmod.ko          # KernelSU 测试模块
    │   ├── proctest.ko / puretest.ko # 进程相关测试模块
    │   ├── unpatch/unpatch.ko      # 恢复 cap_bprm_creds_from_file(软重启兼容)
    │   └── vrpatch/vrpatch.ko      # 中和 vr.ko 的 root 检测(软重启兼容)
    ├── KSUOneTap.apk               # 一键注入 APK(内嵌利用程序 + kernelsu-vivo.ko + ksud + su + 部署脚本)
    ├── resukisu-manager.apk        # KernelSU 管理器 APK(ReSukiSU,用于授权管理)
    └── README.md
    

    3. 支持环境

    项目说明
    目标设备vivo iQOO Neo 9
    SoC / GPUSnapdragon 8 Gen 2 / Adreno 740(A7xx 系列,受 CVE-2025-21479 影响的固件版本)
    内核5.15.178-gaacdc35637c4-dirty(vivo 定制,aarch64,支持 mod_unload / modversions)
    架构所有 ELF 均为 64 位 aarch64(Android)
    安全补丁需在 GPU 固件修复(v676)之前,否则漏洞已失效

    提示:GPU 利用为概率性(依赖内存喷洒),一次失败可重试或重启后重试。


    4. 使用方式

    方式一:一键(KSUOneTap.apk)

    1. 在目标设备安装并打开 KSUOneTap.apk(需要 Shizuku 环境提供权限);
    2. 应用会通过内置 deploy_onedevice.sh 完成:部署利用程序 → 运行利用获得 root → 加载 kernelsu-vivo.ko → 启动 ksud → 安装 su_ksu;
    3. 安装 resukisu-manager.apk 作为 KernelSU 管理器,进行 root 授权管理。

    方式二:手动流程

    以 adb 为例:

    root@kitploit:~
    # 1. 推送并运行利用程序(每次开机运行一次)
    adb push exploit/exploit_vivo_neo9 /data/local/tmp/
    adb shell 'chmod 755 /data/local/tmp/exploit_vivo_neo9; /data/local/tmp/exploit_vivo_neo9'
    
    # 2. 成功后:SELinux 置为 permissive,rootd 守护进程在 /data/local/tmp 就绪(rootd_ready.txt)
    #    推送客户端工具
    adb push exploit/client/su exploit/client/rootc exploit/client/u0 /data/local/tmp/
    adb shell 'chmod 755 /data/local/tmp/su /data/local/tmp/rootc /data/local/tmp/u0'
    
    # 3. 使用 su(默认 rootc 模式;需 euid=0 时加 --u0)
    adb shell
    su -c 'id'
    su --u0 -c 'id'
    
    # 4. 加载 KernelSU 模块并启动守护进程
    adb push kernel-module/kernelsu-vivo.ko userspace/ksud userspace/su_ksu /data/local/tmp/
    adb shell '/data/local/tmp/ksud'
    #    之后以 su_ksu 作为 KernelSU 的 su 使用
    

    5. 组件说明

    5.1 exploit 利用链

    • 利用程序运行后,通过漏洞获得任意物理内存读写,扫描并泄露内核基址(KASLR 绕过);
    • 对 selinux_state 执行 RMW 写入,将 SELinux 置为 permissive;
    • 对内核 kprobe_dispatcher 打补丁,禁用 vr.ko 的 kprobe 检测(vivo 反 root 监控);
    • 在 /data/local/tmp 建立 rootd 守护进程(rootd_cmd / rootd_out / rootd_ready.txt 文件通道),供客户端请求执行命令。

    5.2 su / rootc / u0 客户端

    • rootc(默认模式):rootc <命令> 或 rootc B64:<base64>,经文件通道交给 rootd 以 euid=2000 + 全 capabilities 执行(此设计用于规避 vr.ko 的反 root 限制);
    • u0 模式:su --u0 -c "命令",以 euid=0 真 root 执行,用于调用需要真 root 的接口;
    • su 脚本:su 是包装脚本,默认注入 PATH=/data/local/tmp:$PATH 便于短名调用工具, 支持 -c/--command、--u0/-0、-s/--shell、--no-path 等参数,并兼容 stdin 交互;
    • shim.so:以 LD_PRELOAD 方式注入宿主进程执行自定义代码的共享库。

    5.3 KernelSU(kernel-module + userspace)

    • kernelsu-vivo.ko:针对该 vivo 内核(5.15.178)编译的 KernelSU 内核模块(vermagic 与内核完全匹配);
    • ksud:KernelSU 守护进程,负责加载 kernelsu.ko(按 KMI 版本自动匹配)、管理 su 与授权;
    • su_ksu:KernelSU 的 su 程序,配合管理器进行 root 授权;
    • asuid:以指定 UID 执行命令(asuid <uid> <cmd...>),用于测试/降权场景;
    • 探测工具:ksu_feature_probe、ksu_probe、ksu_probe2、su_test2 用于检测 KernelSU 功能与运行环境。

    5.4 test-modules(内核测试/辅助模块)

    模块用途
    ksu_testmod.koKernelSU 内核模块测试
    proctest.ko / puretest.ko进程行为/纯净度测试
    vrpatch.ko中和 vr.ko 的 root 检测(软重启后保持 root 兼容)
    unpatch.ko恢复 cap_bprm_creds_from_file 挂钩(软重启兼容)

    6. 注意事项

    • 非持久化:利用获得的 root 每次开机后失效,需重新运行利用程序;
    • 软重启:setprop ctl.restart zygote 软重启可保留已获得的 root 状态, 此时需配合 vrpatch.ko / unpatch.ko 维持兼容;
    • 概率性:GPU 内存喷洒为概率性成功,失败可重试或等待设备冷却后重试;
    • 所有二进制为 aarch64(Android ELF),仅适用于匹配的设备与内核版本;
    • 设备安全补丁若已修复该漏洞(GPU 固件 v676),本利用将失效。

    7. 参考

    • zhuowei/cheese — CVE-2025-21479 PoC
    • ma4the/omae-wa-cheese-da — CVE-2025-21479 完整利用链(Galaxy Z Flip 5)
    • CamsShaft/SELinux-Permissive-Only-CVE-2025-21479
    • Qualcomm 2025 年 6 月安全公告
    • KernelSU
    Tool herunterladen