DF-3788 / verdict.json
{ "finding_id": "DF-3788", "status": "reproduced", "reproduced": 1, "impact": "dos", "confidence": "certain", "verdict": "REPRODUCED at source level: the exact expression from bktr_core.c:3344-3346 with the PoC parameters compiles and raises SIGFPE (rc=136) on the DragonFly guest - in the kernel the same #DE is a panic.", "exploit_chain": "open /dev/bktr0 (0444) -> BT848_SCAPAREA{x_size=0} -> METEORCAPTUR -> build_dma_prog divide-by-zero -> panic.", "evidence": "run.log: denominator 0*754=0 then Floating point exception rc=136.", "kernel_refs": [ "sys/dev/video/bktr/bktr_core.c:1758", "sys/dev/video/bktr/bktr_core.c:1766", "sys/dev/video/bktr/bktr_core.c:3345" ], "poc_changes": "none", "attempts": 2, "guest_uname": "DragonFly dfbsd 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": 120, "guest_dirty": 0, "build_cmd": "cc -O -Wall -o harness harness_div0.c", "run_cmd": "./harness # SIGFPE = kernel #DE panic", "code_hash": "c11af04d021b23c9fb3bcabeec572280d8af0e3992a77b7decd0cd434b1997b8", "notes": "Also y_size=0/x_offset overflow produce garbage registers but only x_size=0 traps.", "recommended_fix": "Validate x/y offsets and sizes in BT848_SCAPAREA (fix.diff)", "fix_status": "not_testable", "fix_baseline_reproduced": 1, "fix_patched_reproduced": 0, "fix_verdict": "Runtime fix validation impossible on this guest (no Bt848/878 hardware, driver not in GENERIC, no module dir). fix.diff applies cleanly to sys/ and the patched bktr KLD module compiles with -Werror on the guests /usr/src (fix_build.log).", "fix_evidence": "fix.diff; fix_build.log (all-8-fixes module build, MAKE_RC=0)" } |