DF-5659 / verdict.json
{ "finding_id": "DF-5659", "status": "reproduced", "reproduced": 1, "impact": "none", "confidence": "certain", "verdict": "Verified within the DF-5658 build-diff run: the real-rule-built vkernel64 global.o carries U GD_PRV_CMAP1/2/3, U GD_PRV_PMAP1, U GD_PRV_CADDR1/2/3, U GD_PRV_PADDR1 while the .globld gd_CMAP*/PMAP1/CADDR*/PADDR1 exports (global.s:77-78,86-93) are absent from nm entirely; all 8 ride into the linked vkernel64 binary as zero-relocation undefined symbols with the link exit 0. struct privatespace for vkernel64 (globaldata.h:107-114) contains no prv_CMAP*/CADDR*/PMAP1/PADDR1 fields, so unlike DF-5658s 13 these cannot be restored by adding ASSYM lines \u2014 the aliases are stale i386 lineage absent even from the pc64 twin. Deletion validated as part of fix.diff: zero undefined GD_* remain after the fix, link green.", "exploit_chain": "", "evidence": "nm_global_pristine.txt (8 U GD_PRV_* at object level); final_binary_baseline.txt (8 zero-relocation undefineds in final binary, link exit 0); final_binary_fixed.txt (0 U after deletion); ../DF-5658/VERDICT.md for the full run narrative", "kernel_refs": [ "sys/platform/vkernel64/x86_64/global.s:77-78", "sys/platform/vkernel64/x86_64/global.s:86-93", "sys/platform/vkernel64/include/globaldata.h:107-114", "sys/platform/vkernel64/x86_64/genassym.c:72-121" ], "poc_changes": "No separate PoC authored \u2014 verified inside the DF-5658 evidence run (shared build tree); this pack carries the decisive extracts.", "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": 0, "guest_dirty": 0, "build_cmd": "(same as DF-5658) cd /usr/src/sys/compile/VKERNEL64 && make assym.s global.o", "run_cmd": "nm global.o | grep U GD_PRV_", "code_hash": "6a07ff3758f34594d4a39af5cc5d38d5aa909b9ab8985506ad67ebe615926fa6", "notes": "Split from DF-5658 because remediation differs (delete-vs-restore). Fields verifiably absent from vkernel64 struct privatespace; pc64 global.s has no PRV block, confirming stale lineage.", "recommended_fix": "Delete global.s:77-78 and the eight .set lines at global.s:86-93 (included and validated in DF-5658s fix.diff)", "fix_status": "fixed", "fix_baseline_reproduced": 1, "fix_patched_reproduced": 0, "fix_verdict": "Baseline: 8 undefined GD_PRV_* macros, 8 vanished exports, build green. After deleting the aliases (fix.diff): zero undefined GD_* of any kind in global.o and the final binary, link exit 0.", "fix_evidence": "fix.diff (global.s hunks), final_binary_fixed.txt, ../DF-5658/fixbuild.log" } |