DF-3446 / verdict.json
{ "finding_id": "DF-3446", "status": "reproduced", "reproduced": 1, "poc_path": "findings/poc/DF-3446", "artifact_dir": "findings/poc/DF-3446", "build_cmd": "cc -O -o <prog> <prog>.c (on the guest)", "run_cmd": "(driver script; kldload ipfw3+ipfw3_basic)", "code_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "build_log": "(inline)", "run_log": "live3.log", "impact": "denial_of_service", "confidence": "certain", "verdict": "Duplicate ipfw3 table appends leak the radix entry: rnh_addaddr failure path never frees ent (and reports success to userland). Live on the stock kernel: 10000 duplicate adds of 10.7.7.7/32 leaked ~7.4MB of M_IPFW3_TABLE (in-use 12.0K -> 14.7MB in an earlier 20000-add run), table count still 1; entries are not in the tree so flush/destroy cannot reclaim them - unbounded kernel memory exhaustion as root.", "exploit_chain": "", "evidence": "live3.log fw3 section: IPFW3_TABLE in-use before/after 10000 dup appends; table count 1", "kernel_refs": [ "sys/net/ipfw3_basic/ip_fw3_table.c:157-186" ], "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.diff", "fix_status": "fixed", "fix_verdict": "A/B on the combined-fix kernel: baseline 10000 duplicate appends leaked ~7.4MB (in-use 12K->14.7MB); patched kernel in-use 10.5K->11.2K (module-load noise only, ~0/add) across the same 10000 duplicate appends. See fixkernel.log.", "fix_baseline_reproduced": 1, "fix_patched_reproduced": 0, "fix_kernel_uname": "DFBSD 6.5-DEVELOPMENT combined-fix kernel (see fixkernel.log)" } |