CVE-2026-43499(IonStack PI write-what-where)的设备专项研究移植, 适用于加拿大版 Galaxy Z Fold4 SM-F936W,固件版本 F936WVLU1AVGA。
本仓库是 CVE-2026-43499-S24U 和
CVE-2026-43499-A36 的 Fold4 对应版本。它
记录了当前未完成的进展:回收、残留栈 UAF 布防、
以及 leftover.lock 覆盖均已就位;[7] 的 lock.waiters 插入
从未落到被回收的页面上。CFI / physrw / root 尚未达到。
偏移量和布局仅适用于此固件。不要将 S24U / S25 / A36 / S9180 / GRKU
的常量复制到该目标上。特别是这里的 SKB_DATA_DELTA 为 -0xe80
(S9180 为 -0x1000)。
仅可用于你拥有或明确获授权测试的设备。
Model: SM-F936W
Codename: q4q
Board: taro (Snapdragon 8 Gen 1)
Android: 12 / One UI 4.1.1 (SDK 32)
AP / PDA: F936WVLU1AVGA
Fingerprint: samsung/q4qcsx/q4q:12/SP2A.220305.013/F936WVLU1AVGA:user/release-keys
Kernel: 5.10.81-android12-9-24709469-abF936WVLU1AVGA
Architecture: arm64 / 4K pages
Serial used: RFCT70A6APD (authorized owner device)
Image SHA-256 9ec34bbfa6a732001ead04a3e6aea8a6ad2283e3280b8b7d024c47056003fe3d。
恢复出的 vmlinux.elf SHA-256
a5a5fa849f3e47f185d8cf4d5796b2ada10d251153a5fcea51ba138e0c565a0c。
原始 Image 和 vmlinux.elf 不随仓库分发(见
analysis/boot-unpack/SHA256SUMS)。
最新实测产物:analysis/artifacts/cve-2026-43499-v104-resscan
(SHA-256 dd7968e71f2c151be46b7c386cd1380ace191854d36c08c11283266b82c8656b),
启动 f5264a43-7544-460e-a70d-becf90960383,warranty_bit=0。
里程碑矩阵见 docs/PROGRESS.md。
src/targets/q4q-F936WVLU1AVGA/(基于 Image 的偏移量)。src/):so1000 leftover 植入、stamp-SP 测量、
残余任意位置窥探、DIAG_LOCK_MINIMAL。feature/grku-race-parity @ 749633c(非 Fold4 常量)。它不包含固件压缩包、原始内核 Image、vmlinux.elf、
Android 应用程序源码,或 Fold4 KernelSU 模块。
export ANDROID_NDK_HOME=/path/to/android-ndk # NDK r29 or compatible
make TARGET=q4q-F936WVLU1AVGA API=32
输出:
build/q4q-F936WVLU1AVGA/cve-2026-43499
build/q4q-F936WVLU1AVGA/cve-2026-43499-app.so
build/q4q-F936WVLU1AVGA/cve-2026-43499-root
请将二进制视为诊断用途。不要将 success=1 的 setattr 视为
[7] 或 [11] 写入已完成。
除非有新的 Image 事实迫使更改,否则保持以下值不变:
DIAG_RECLAIM_PREDRAIN_SENDS=768
DIAG_RECLAIM_SENDS=1
DIAG_WRITE_SHAPE=3
DIAG_SELF_WRITE_OFF=0x6000
DIAG_PERF_RESIDUAL=1
DIAG_RECLAIM_PEEK=1
self_src == fake_fops)之前,加深喷洒、
defer-all32 或恢复 ASHMEM_MISC_FOPS,在此固件上均无用处。leftover.task 设为 init_task 或页面的 fake_task 会抑制
[7]。将 leftover.task 置空、empty-leftmost 或 prio=0 同样失败。Apache License 2.0:LICENSE。
| 阶段 | 状态 |
|---|
| Image 识别、kallsyms、P0 指纹 | 完成 |
| Waiter / task PI / fops / mm slab(0x3c0,order 3) | 完成(此 Image) |
| KernelSnitch mm 泄漏 + 页面预备 | 可用 |
| skb 回收 predrain=768,最终发送=1 | 可用 |
| 经典 EDEADLK 残留存活 | 可用(Image 已验证) |
残余 stack_page+0x3cb0(以及 +0xbcb0) | 可用 |
| IPv6 MCAST leftover.lock 位于 buf+0x118 | 已测量(v93;越过 264 字节拷贝) |
| SOL_SOCKET 1000 覆盖 leftover.lock 于 +0x80 | 可用(v96 实测) |
| leftover.lock = fake_lock 植入 | 可用 |
| MARK@+0x80 远程遍历 | 已验证(重启) |
| fake_lock@+0x80 + owner=1 setattr | success=1,无页面变更 |
[7] 将 leftover 插入到页面上 | 未解决(v104 全页残余扫描:无命中) |
| CFI 写入 / pipe phys-rw / root / KernelSU | 未达到 |
| 文档 | 内容 |
|---|
| docs/PROGRESS.md | 里程碑矩阵、当前事实、未解决的门槛 |
| docs/SM-F936W-F936WVLU1AVGA.md | 目标记录 |
| analysis/reports/PI_TREE_NEXT_GATE_20260813.md | [7] 与 [11] 的同一性 |
| src/targets/q4q-F936WVLU1AVGA/provenance.md | 固件 / Image 哈希 |