
CVE-2026-43499 research port for Galaxy Z Fold4 SM-F936W F936WVLU1AVGA (in progress)
Device-specific research port of CVE-2026-43499 (IonStack PI write-what-where) for the Canadian Galaxy Z Fold4 SM-F936W on firmware F936WVLU1AVGA.
This repository is the Fold4 counterpart of
CVE-2026-43499-S24U and
CVE-2026-43499-A36. It
captures current incomplete progress: reclaim, leftover-stack UAF arming,
and leftover.lock coverage are in place; the [7] lock.waiters insert
never lands on the reclaimed page. CFI / physrw / root are not reached.
Offsets and layouts apply only to this firmware. Do not copy constants
from S24U / S25 / A36 / S9180 / GRKU onto this target. In particular
SKB_DATA_DELTA is -0xe80 here (S9180 is -0x1000).
Use only on devices you own or are explicitly authorized to test.
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.
Recovered vmlinux.elf SHA-256
a5a5fa849f3e47f185d8cf4d5796b2ada10d251153a5fcea51ba138e0c565a0c.
The raw Image and vmlinux.elf are not shipped (see
analysis/boot-unpack/SHA256SUMS).
Latest live artifact: analysis/artifacts/cve-2026-43499-v104-resscan
(SHA-256 dd7968e71f2c151be46b7c386cd1380ace191854d36c08c11283266b82c8656b),
boot f5264a43-7544-460e-a70d-becf90960383, warranty_bit=0.
See docs/PROGRESS.md for the milestone matrix.
src/targets/q4q-F936WVLU1AVGA/ (Image-backed offsets).src/): so1000 leftover plant, stamp-SP measure,
residual-anywhere peek, DIAG_LOCK_MINIMAL.feature/grku-race-parity @ 749633c (not Fold4 constants).It does not contain firmware tarballs, the raw kernel Image, vmlinux.elf,
Android application source, or a Fold4 KernelSU module.
export ANDROID_NDK_HOME=/path/to/android-ndk # NDK r29 or compatible
make TARGET=q4q-F936WVLU1AVGA API=32
Outputs:
build/q4q-F936WVLU1AVGA/cve-2026-43499
build/q4q-F936WVLU1AVGA/cve-2026-43499-app.so
build/q4q-F936WVLU1AVGA/cve-2026-43499-root
Treat binaries as diagnostic. Do not treat a success=1 setattr as a
completed [7] or [11] write.
Keep these unless a new Image fact forces a change:
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
ASHMEM_MISC_FOPS before a
skb-peek self-write HIT (self_src == fake_fops) is not useful on this
firmware.leftover.task to init_task or the page fake_task suppresses
[7]. Punching leftover.task, empty-leftmost, or prio=0 also fails.Apache License 2.0: LICENSE.
| Stage | Status |
|---|
| Image identity, kallsyms, P0 fingerprint | Done |
| Waiter / task PI / fops / mm slab (0x3c0, order 3) | Done (this Image) |
| KernelSnitch mm leak + page prepare | Working |
| skb reclaim predrain=768, final sends=1 | Working |
| Classic EDEADLK leftover survival | Working (Image-proven) |
Residual stack_page+0x3cb0 (also +0xbcb0) | Working |
| IPv6 MCAST leftover.lock at buf+0x118 | Measured (v93; past 264-byte copy) |
| SOL_SOCKET 1000 covers leftover.lock at +0x80 | Working (v96 live) |
| leftover.lock = fake_lock plant | Working |
| MARK@+0x80 remote walk | Proven (reboot) |
| fake_lock@+0x80 + owner=1 setattr | success=1, no page mutation |
[7] insert of leftover onto the page | Open (v104 full-page residual scan: no hit) |
| CFI write / pipe phys-rw / root / KernelSU | Not reached |
| Doc | Content |
|---|
| docs/PROGRESS.md | Milestone matrix, live facts, open gate |
| docs/SM-F936W-F936WVLU1AVGA.md | Target record |
| analysis/reports/PI_TREE_NEXT_GATE_20260813.md | [7] vs [11] identity |
| src/targets/q4q-F936WVLU1AVGA/provenance.md | Firmware / Image hashes |