Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
K80Pro-miro-CVE-2026-64560 — Device-bound CVE-2026-64560 adaptation for RedMi K80pro miro OS 3.0.304.0 | Kitploit
Tools/GitHubGitHub/rmdycz/k80pro-miro-cve-2026-64560
Android SecurityPrivilege EscalationExploitationMobile App PentestingReverse EngineeringPost-ExploitationMobile SecurityPapers & ResearchPayload DevelopmentBinary Exploitation
GitHubrmdycz/k80pro-miro-cve-2026-64560
10h 23m agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

K80Pro-miro-CVE-2026-64560

Device-bound CVE-2026-64560 adaptation for RedMi K80pro miro OS 3.0.304.0

View Repository

k80pro-miro-cve-2026-64560

Redmi K80 Pro (miro) 的 CVE-2026-64560 用户态本地提权移植项目。

🚀 不想看这么多文档?

如果你不想深入研究,或者不想读这一堆 AI 生成的 .md, 请直接看 dyc.md —— 一篇讲人话的快速上手: 从零到越狱(含 KernelSU),只讲要敲什么命令,不讲为什么。

上游漏洞利用及 Xiaomi 15 (dada) 适配来自 quyicheng03-boop, 本仓库是在其基础上为 K80 Pro 重新推导地址与常量后的移植成果。

本项目只做移植,不包含漏洞发现。 漏洞原理、利用链设计全部属于上游作者。 详见 docs/UPSTREAM.md 与 NOTICE。


一、先读这一段:产物与固件严格绑定

这个仓库里的源码和二进制,只对下面这一个固件版本有效:

换任何一个 OTA 版本都会失效。 内核里的结构体偏移、符号地址、KASLR 区间 全部是针对这一个 Image 推导的,差一个字符都跑不起来。

指纹不匹配时程序会在门口退出:

root@kitploit:~
TARGET_PROFILE_GATE_FAIL fingerprint=...

这是安全失败,不会碰内核。如果你的固件不是上表版本,请按 docs/05-technical.md 自行重新移植,不要直接 套用本仓库的常量。


二、免责声明

  • 本代码会直接读写内核内存。
  • 利用过程中设备有可能死机或挂起,需要长按电源键强制重启。
  • 失败不会造成永久损坏(详见 docs/04-troubleshooting.md 的风险分析),但不要在你不拥有、或数据未备份的设备上运行。
  • 测试设备为 BL 解锁状态。如果你的设备 bootloader 已锁定, 请先确认自己有恢复手段 —— 锁定状态下没有 fastboot 通道。
  • 仅供安全研究、漏洞验证与自有设备学习使用。请自行确认所在地区的法律要求。

三、目录结构

root@kitploit:~
k80pro-miro-cve-2026-64560/
├── README.md               本文件
├── dyc.md                  快速上手(讲人话版),新手先看这个
├── LICENSE                 上游许可证
├── NOTICE                  上游归属声明
├── SHA256SUMS.txt          release_build/ 内三个产物的校验值
│
├── src/                    编译用的源码
│   ├── exploit-fanout-miro.c
│   ├── exploit-rotate-miro.c
│   ├── temp-su.c
│   ├── miro-profile.h      常量参考(不参与编译)
│   ├── miro-integration.c  集成参考(不参与编译)
│   └── exploit-*.c         上游原始文件(生成器的输入,不参与编译)
│
├── release_build/          预编译产物(可直接使用)
│   ├── cve-2026-64560-fanout
│   ├── cve-2026-64560-rotate
│   └── su
│
├── docs/
│   ├── 01-build.md         如何编译
│   ├── 02-usage.md         如何在 adb shell 中使用
│   ├── 03-tokens.md        输出 token 速查表
│   ├── 04-troubleshooting.md  排错与风险说明
│   ├── 05-technical.md     移植技术说明
│   └── UPSTREAM.md         上游来源
│
└── tools/                  构建脚本与复现/诊断工具(不参与利用)
    ├── build.sh            一键编译(sh tools/build.sh)
    └── *.py                复现 / 诊断脚本

四、两条使用路径

路径 A:直接使用预编译产物

见 docs/02-usage.md。

先确认产物完整:

root@kitploit:~
sha256sum -c SHA256SUMS.txt        # Linux / macOS
certutil -hashfile <文件> SHA256   # Windows,逐个核对

路径 B:自己编译

见 docs/01-build.md。

需要 Android NDK(不能用系统 gcc,原因见该文档)。最省事的方式是 用仓库自带的脚本,它会自己找 NDK、选对工具链、编译、并和 SHA256SUMS.txt 逐个对比哈希:

root@kitploit:~
sh tools/build.sh              # 编译 + 校验
sh tools/build.sh --no-check   # 只编译

脚本只做编译,不碰设备、不推送、不运行 exploit。

不想用脚本的话,也可以手敲三条 clang 命令,产出 cve-2026-64560-fanout、cve-2026-64560-rotate、su。

编译完成后比对是否与 release_build/ 里的字节一致:

root@kitploit:~
sha256sum build/*              # 与 SHA256SUMS.txt 里的三个值对照

五、成功长什么样

成功的唯一判据是新开一个 adb shell,能通过 /data/local/tmp/su 拿到 uid=0:

root@kitploit:~
$ printf 'id\nexit\n' | adb shell -T /data/local/tmp/su
uid=0(root) gid=0(root) groups=0(root),1004(input),... context=u:r:shell:s0

注意 context=u:r:shell:s0 —— root 身份但保持 shell 域,这是设计如此, 不是错误。

过程中会看到的关键 token(完整表见 docs/03-tokens.md):

root@kitploit:~
BOOTID_WRITE_PASS attempt=5 q0=... q1=... slide=... kernel_base=...
STAGE0_GATE_PASS  slide=... kernel_base=...
MISC_BRIDGE_OPEN_PASS fd=... observed=...
STAGE8_CRED_STAGE_PASS task=... cred=... uid=0 context=shell
ROOT_CHILD_HOLD_PASS child=... uid=0 context=shell selinux_permissive=1

六、三个必须知道的行为特征

  1. 成功率不是 100%。 Stage0 阶段实测约 1/5 单次命中率, 所以程序默认每阶段重试 32 次。整链是概率性的。

  2. 失败可能表现为死机。 需要长按电源键强制重启。 重启后内核状态完全清空,可以重新再来。

  3. 成功后会留下两个状态,直到重启为止:

    • SELinux 变成 permissive
    • /data/local/tmp/su 变成对任何 shell 身份开放 root 的守护进程

    清理方式见 docs/02-usage.md 末尾。

permissive 不是残留 bug,而是加载内核模块(KernelSU LKM 等)的前提。 细节见 docs/04-troubleshooting.md。


七、致谢

  • 漏洞发现与利用实现:NebuSec / CyberMeowfia
  • Xiaomi 15 (dada) 适配:上游仓库作者
  • K80 Pro (miro) 移植:见 CHANGELOG

许可证与归属声明见 LICENSE 与 NOTICE。

Download Tool
项值
机型Redmi K80 Pro (ro.product.device = miro)
指纹Redmi/miro/miro:16/BP2A.250605.031.A3/OS3.0.304.0.WOMCNXM:user/release-keys
内核6.6.118-android15-8-gc44b714366cc-abogki519650608-4k
内核构建时间Thu Jun 4 03:48:35 UTC 2026
页面大小4096(4K)