DF-3090 / verdict.json
{ "finding_id": "DF-3090", "status": "not_reproduced", "reproduced": 0, "impact": "none", "confidence": "likely", "verdict": "Line-verified confusion exercised as root with the guest hammer2 root mount: nfssvc(NFSSVC_MNTD, {\"/\"}) and nfssvc(NFSSVC_MNTD|NFSSVC_GOTAUTH, ...) both return 0 cleanly - the type-confused reads of hammer2 mount data through struct nfsmount field offsets happen (nmp = VFSTONFS(vp->v_mount) with only a VROOT check, nfs_syscalls.c:175-176), but the garbage field values route execution into benign early exits (the NFSSTA_MNTD early-return at :180 for the plain call; an authstr NULL path for GOTAUTH) on this filesystem layout. No crash, no observable disclosure, no wild write manifested. Missing vfstype validation is real; impact not demonstrable on this guest.", "exploit_chain": "", "evidence": "VERDICT.md + run.log + sources", "kernel_refs": [ "sys/vfs/nfs/nfs_syscalls.c:175", "sys/vfs/nfs/nfs_syscalls.c:180", "sys/vfs/nfs/nfs_kerb.c:70" ], "poc_changes": "adjusted from finding sketch to guest syscall/layout reality", "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": 10, "guest_dirty": 0, "build_cmd": "guest: cc -O2 -o <bin> <src>.c -pthread", "run_cmd": "see README.md", "code_hash": "1d96d02419879806292fe6c01c4fe9efdf2ae113c90ec1784428dac7ccbef9e4", "notes": "fix_status: not_testable (not reproduced)", "recommended_fix": "diff: validate vp->v_mount->mnt_vfc == &nfs_vfsconf (or equivalent type check) before the VFSTONFS cast, else EINVAL.\n" } |