DF-3411 / verdict.json
{ "finding_id": "DF-3411", "status": "not_reproduced", "reproduced": 0, "poc_path": "findings/poc/DF-3411", "artifact_dir": "findings/poc/DF-3411", "build_cmd": "cc -O -o <prog> <prog>.c (on the guest)", "run_cmd": "20 (root)", "code_hash": "3a75e80ae23dee45f0ec16d75f548117db8c847508d631ac92860299077da5be", "build_log": "(inline)", "run_log": "VERDICT.md", "impact": "none", "confidence": "likely", "verdict": "funsetown (kern_descrip.c:1239-1273) drops sigio_token BEFORE the list removal/crfree/kfree while pgsigio (kern_sig.c:2639) derefs the sigio with no token: tunifstarts pgsigio(sc->tun_sigio) racing a concurrent FIOSETOWN is a genuine use-after-free window. Stress attempted live (FIOSETOWN hammer + continuous tun0 traffic driving tunifstart): ~55s combined, no crash; window is a handful of instructions. Mechanism line-confirmed.", "exploit_chain": "", "evidence": "VERDICT.md run log: FIOSETOWN storm + ping/UDP traffic through tun0, rc=124 (alive, no crash)", "kernel_refs": [ "sys/net/tun/if_tun.c:533-536", "sys/kern/kern_descrip.c:1239-1273", "sys/kern/kern_sig.c:2639-2663" ], "poc_changes": "", "attempts": 3, "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 6.5-DEVELOPMENT #0: Thu Jul 2 06:02:54 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64", "runtime_sec": 60, "guest_dirty": 0, "runner": "df-bsd-reviewer", "notes": "", "recommended_fix": "", "fix_status": "not_testable", "fix_verdict": "Fix: hold sigio_token across the pgsigio body (or make tun read sc->tun_sigio under the token); needs fault injection to A/B.", "fix_baseline_reproduced": null, "fix_patched_reproduced": null } |