DF-5792 / manifest.json
{ "finding_id": "DF-5792", "title": "closef() fdtol-chain walk vs fdfree() unlink+kfree cross-lock UAF", "verdict": "reproduced (exploit-development: user-steerable gated arbitrary-address 4-byte kernel zero-write machine; uid0 honestly blocked - see VERDICT.md addendum)", "impact": "panic (upgraded primitive: gated kernel-memory zero-write under attacker control; memcorrupt bucket)", "confidence": "certain", "reproduce": { "build": "cc -O2 -o exp5792 exp5792.c", "run": "./exp5792 120 (uid 1001, stock kernel; ~40-60% of attempts hit the original closef+0x80 fatal trap instead -- retry on a fresh boot)", "expected": "walker stall detected -> [verify N] victim 0x... +8..+11 = 00000000 *** KERNEL WRITE VERIFIED *** -> SUCCESS -> [sess2] second race-free verified write -> uid=1001 euid=1001; system alive" }, "kernel_refs": [ "sys/kern/kern_descrip.c:3063", "sys/kern/kern_descrip.c:3071", "sys/kern/kern_descrip.c:3074", "sys/kern/kern_descrip.c:3076", "sys/kern/kern_descrip.c:2675", "sys/kern/kern_descrip.c:2678", "sys/kern/kern_descrip.c:2686", "sys/kern/kern_fork.c:557", "sys/kern/kern_descrip.c:3346", "sys/sys/filedesc.h:109", "sys/kern/kern_descrip.c:3080", "sys/kern/uipc_usrreq.c:1147", "sys/kern/uipc_usrreq.c:1486", "sys/kern/kern_fork.c:570", "sys/kern/kern_exit.c:384" ], "artifacts": [ "fdtol_storm.c", "build.sh", "run.sh", "build.log", "run1.stats", "run2.stats", "fixrun1.stats", "fixrun2.stats", "serial_panic_run1.txt", "serial_panic_run2.txt", "env.txt", "VERDICT.md", "fix.diff", "manifest.json", "verdict.json", "exp5792.c", "EXPLOIT.md", "build_exploit.sh", "run_exploit.sh", "run_machine_success.log", "fix_ab/fixbuild.log", "fix_ab/fixrun.out" ] } |