DF-3503 / verdict.json
{ "finding_id": "DF-3503", "status": "not_reproduced", "reproduced": 0, "impact": "none", "confidence": "likely", "verdict": "Unreachable by construction on this tree: the attack vector requires ng_tag to mint a short m_tag, but sys/netgraph7/ng_tag.c DOES NOT COMPILE - kernel-compile with options NETGRAPH7_TAG failed at ng_tag.c:64 'fatal error: sys/stddef.h: No such file or directory' (FreeBSD-ism; DFly has no sys/stddef.h), and ng_tag is absent from the netgraph7 module SUBDIR (sys/netgraph7/Makefile). With no in-tree producer of foreign NGM_KSOCKET_COOKIE m_tags except ng_ksocket itself (which always writes the full sizeof(struct sa_tag) tag), the short-tag OOB in ng7 ng_ksocket rcvdata (:904-913 - m_tag_locate by cookie/type only, no m_tag_len check, sa=&stag->sa handed to sosend) cannot be armed. The code defect is line-accurate real; a custom kernel module minting a short tag would realize it, but that is not an in-tree surface on this tree. (DFly's v1 twin ng_tag/ksocket was fixed differently; v1 rcvdata uses meta not m_tags.)", "evidence": "ng7build.log attempt-1 (ng_tag.c:64 fatal error captured in session log; config then rebuilt without TAG), sys/netgraph7/Makefile SUBDIR listing", "kernel_refs": [ "sys/netgraph7/ksocket/ng_ksocket.c:904", "sys/netgraph7/ksocket/ng_ksocket.c:913", "sys/netgraph7/ng_tag.c:64" ], "poc_changes": "none", "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": 1200, "guest_dirty": 0, "build_cmd": "make nativekernel KERNCONF=X86_64_NG7 # attempt with NETGRAPH7_TAG", "run_cmd": "n/a (precondition module unbuildable)", "code_hash": null, "notes": "fix_status: not_testable (unbuildable precondition). The ng7 harness kernel (X86_64_NG7) itself built fine once TAG/FEC removed.", "recommended_fix": "validate tag->m_tag_len >= sizeof(struct sa_tag) - offsetof(sa) before overlaying sa_tag in ng7 ng_ksocket_rcvdata." } |