DF-2767 / verdict.json
{ "finding_id": "DF-2767", "status": "reproduced", "reproduced": 1, "impact": "none", "confidence": "certain", "verdict": "Line-accurate confirmation on the stock INVARIANTS guest: sys/kern/vfs_jops.c:477-478 implements the per-index journal-status filter as if (info->index < index) continue, which skips only journals positioned ABOVE the requested index, so a mountctl status request for index k returns records for journals 0..k instead of only k (the intent is an exact match; every other branch in the loop compares for equality). Root-only path, each record is buflen-guarded (vfs_jops.c:482-501), so the defect is an over-return/parse ambiguity, not memory corruption. Mechanical runtime demo skipped as disproportionate for the Info tier: it requires configuring a live mount journal via mountctl(8). Fix (exact-match predicate) compiled in the combined fix kernel (build RC=0).", "exploit_chain": "", "evidence": "sourcenote.txt (line-accurate analysis); fix.diff", "kernel_refs": [ "sys/kern/vfs_jops.c:477", "sys/kern/vfs_jops.c:482" ], "poc_changes": "no PoC required beyond source confirmation", "attempts": 1, "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": 30, "guest_dirty": 0, "build_cmd": "(source confirmation only)", "run_cmd": "(source confirmation only)", "code_hash": "0d0843561bea6fcf49010a17eca1df024505f22089d3de88e52006e4efdd9c40", "notes": "No memory safety; root-only mountctl status path", "recommended_fix": "Exact-match filter: if (info->index != index) continue", "fix_status": "compile_validated", "fix_baseline_reproduced": 0, "fix_patched_reproduced": 1, "fix_kernel_uname": "DragonFly dfbsd 6.5-DEVELOPMENT #1: Mon Oct 26 01:57:23 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64 (h41 fix kernel, all 41 hardening fixes applied)", "fix_verdict": "fix.diff changes the predicate to exact match (info->index != index); included in the combined 41-fix kernel build (RC=0, 0 errors) which booted and passed the full A/B suite." } |