Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
IonStack_S21 — 针对 Samsung Galaxy S21 上 CVE-2026-43499 的漏洞利用链研究 | Kitploit
工具/GitHubGitHub/kurtulusakyuz/ionstack_s21
Android安全权限提升漏洞分析漏洞利用逆向工程后渗透利用移动安全论文与研究Payload 开发二进制利用
GitHubkurtulusakyuz/ionstack_s21

IonStack_S21

87920天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

针对 Samsung Galaxy S21 上 CVE-2026-43499 的漏洞利用链研究

查看仓库

IonStack_S21 — 针对 Galaxy S21 (SM-G991B) 的 CVE-2026-43499 研究

本设备上可用的、活跃的 KernelSU 项目: kurtulusakyuz/dfroot-s21 — 请从那里开始。本仓库仅保留 IonStack 研究内容。

针对三星 Galaxy S21 (o1s)、固件 G991BXXSJHZC2 的设备专用 IonStack payload。状态:研究已结束 — 仅能实现确定性 DoS;内核写入路径在此 构建版本上已被证明不可能。完整证据见 RESEARCH.md。

字段值
型号SM-G991B
设备o1s
固件G991BXXSJHZC2
Android15 / API 35 (AP3A.240905.015.A2, fingerprint samsung/o1sxeea/o1s)
页大小4096
内核5.4.242-30958140-abG991BXXSJHZC2
SoCExynos 2100
缓解措施CFI+PAC+PAN/UAO, KDP_CRED, SELinux enforcing, no userfaultfd

基于 NebuSec/CyberMeowfia 中发布的 IonStack CVE-2026-43499 实现 (上游 b850d3bddc74c3328d5fbcc0568d21962b55d949)以及 BuSung-dev/CVE-2026-43499-S25U,并感谢 F-19-F/IonStackQuest3。 上游 Apache License 2.0 保留在 LICENSE 中(见 NOTICE)。

最终状态(请先阅读本节)

本设备的 GhostLock 写入程序已完成并结案,而非暂停。 按顺序证明的结论如下:

  1. 该漏洞真实存在。 remove_waiter() 清除的是 current->pi_blocked_on 而非 waiter->task->pi_blocked_on, 因此 FUTEX_CMP_REQUEUE_PI 回滚会留下一个指向栈上 rt_waiter 的悬空指针。上游修复 3bfdc63 未包含在 5.4.242 中。
  2. 触发是可靠的。 3 线程循环(owner → chain → waiter → target 死锁,主 CMP 失败并返回 EDEADLK)加上 消费者 sched_setattr,可在无 KDP 的 QEMU 客户机中以及手机本身 (lastkmsg 118/119)复现与设备一致的 Oops (rt_mutex_adjust_prio_chain+0x108 → _raw_spin_trylock+0x1c, 故障 VA 0)。悬空槽位完全被映射 (栈顶 E-0x328,生命周期已通过 QEMU+GDB 表征)。
  3. 写入在此处结构上不可能。 九个 syscall-spray 系列已完成深度映射 — 没有一个能到达该槽位;slab 回收被 owner 存活性 Catch-22 阻断;而决定性的触发时 dump 显示 sigreturn 拷贝仅在 victim+0x40 处投递,而被遍历的门字段 lock (+0x38) 从未受攻击者控制(15/15 次 dump)。独立移植 (ASUS i005、AQUOS sigreturn 路径)也撞上同一堵墙。这是几何问题, 而非概率问题。
  4. 幸存下来的是一个确定性的重启原语。 NULL-lock 遍历会使内核 panic 并重启手机 — 这是可靠的 DoS,而非 权限提升。

此构建版本上相关的 2026 内核 LPE 途径也因固件配置而被关闭 (USER_NS、RDS、CRYPTO_USER_API_AEAD 均未设置; 在 MFC_USE_DMABUF_CONTAINER=n 时 MFC double-free 不可达; AF_ALG/eBPF 对 shell 受限)。写入后产物 (为此确切固件构建的 KernelSU .ko + ksud)已单独暂存; 本目录树中的 src/kernelsnitch/ 头文件 仍处于暂存但未构建状态(没有写入就不存在消费者)。

目录结构

Makefile                  build (NDK r27+, ANDROID_NDK_HOME)
src/                      exploit source (o1s profile only)
src/targets/o1s-G991BXXSJHZC2/  target.h + p0_fingerprint.h
src/kernelsnitch/         mm_struct leak (futex hash collision, staged)
tools/                    p0 fingerprint helper
RESEARCH.md               research notes (geometry, verdicts)

构建

export ANDROID_NDK_HOME=/path/to/android-ndk
make clean all
# SLIDE_WRITER_SEL=1|2|3 selects mcast/sigreturn(default)/xattr writers.
# Unset selects the experimental pselect writer (see RESEARCH.md).

输出(build/o1s-G991BXXSJHZC2/): cve-2026-43499(LD_PRELOAD payload)、cve-2026-43499-app.so(app payload)、 cve-2026-43499-root(root helper)。

部署与运行

adb push build/o1s-G991BXXSJHZC2/cve-2026-43499 /data/local/tmp/cve-2026-43499
adb push build/o1s-G991BXXSJHZC2/cve-2026-43499-root /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 sh"
# on success:
adb shell "/data/local/tmp/cve-2026-43499-root -c 'id; getenforce'"

预期管理:在此构建版本上,“成功”意味着触发遍历 及其 oracle 输出 — NULL-lock 遍历会重启设备,而非 获得 root(见上文“最终状态”)。即使未来通过某种写入原语 获得 root,也仅持续到重启为止;不会刷写任何内容。

状态 / 警告

  • 仅 DoS,写入路径已带证据关闭 — 完整说明见 RESEARCH.md (槽位几何、spray 封闭性、SIGRETURN 大模型、决定性触发时 dump、设备上确认)。
  • 对时序敏感;预期会出现内核 panic。重启以获得干净的 slab,运行时保持 设备空闲。/data/local/tmp 在重启时会被清空 — 每次启动后 重新推送二进制文件。
  • 仅可在您拥有或明确授权测试的设备上使用。
下载工具