⬢ DragonFlyBSD Kernel Audit
DF-3503 / verdict.json
← back to finding ↓ download raw
{
 "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."
}