DragonFlyBSD Kernel Audit
DF-0008 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-0008",
  "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",
  "code_hash": "b9a306d0f9e7f73e4c245b4cc038294a3be6c13dd327ab55b89b5a9764a94a47",
  "tested_at": "2026-07-22T18:10:00Z",
  "verdict": "NOT_REPRODUCED_REAL_AND_REACHABLE",
  "impact": "none",
  "confidence": "likely",
  "reproduce": {
    "build": "./build.sh",
    "run": "./run.sh",
    "expected": "no effect on this guest (not reproduced); exits cleanly. See VERDICT.md."
  },
  "kernel_refs": [
    "sys/kern/vfs_subr.c:2255",
    "sys/kern/vfs_subr.c:2259",
    "sys/kern/vfs_subr.c:2261",
    "sys/kern/vfs_subr.c:2269",
    "sys/kern/vfs_subr.c:2552",
    "sys/kern/vfs_lock.c:703",
    "sys/vfs/ufs/ufs_vfsops.c:58",
    "sys/vfs/ufs/ffs_vfsops.c:1228",
    "sys/kern/vfs_default.c:1562",
    "sys/vfs/ufs/ffs_vfsops.c:270",
    "sys/kern/vfs_subr.c:2201",
    "sys/kern/vfs_syscalls.c:164"
  ],
  "artifacts": [
    {
      "path": "expub.c",
      "type": "trigger-source",
      "desc": "root-only UPDATE-mount trigger of vfs_setpublicfs :2261->:2269 UAF path (rewritten: correct struct ufs_args + MNT_UPDATE)"
    },
    {
      "path": "VERDICT.md",
      "type": "verdict",
      "desc": "full narrative: real+reachable, line-by-line proof, why no panic on non-DEBUG kernel"
    },
    {
      "path": "README.md",
      "type": "readme",
      "desc": "human build/run/expected summary"
    },
    {
      "path": "build.sh",
      "type": "build-script",
      "desc": "cc -o expub expub.c"
    },
    {
      "path": "run.sh",
      "type": "run-script",
      "desc": "as root: ./expub /boot N (UPDATE mount w/ MNT_EXPUBLIC+indexfile)"
    },
    {
      "path": "build.log",
      "type": "build-log",
      "desc": "final successful build, full output"
    },
    {
      "path": "run.log",
      "type": "run-log",
      "desc": "decisive run (/boot 16): path reached 16/16, no panic, guest up"
    },
    {
      "path": "run.stress.log",
      "type": "run-log",
      "desc": "stress run (/boot 512) with vnode churn: path reached 512/512, no panic"
    },
    {
      "path": "dmesg.txt",
      "type": "dmesg",
      "desc": "post-trigger dmesg: no vnode/lock/witness/panic warnings"
    },
    {
      "path": "env.txt",
      "type": "environment",
      "desc": "uname, cc version, kernel config (non-DEBUG, no INVARIANTS/WITNESS), /boot=ufs"
    },
    {
      "path": "fix.diff",
      "type": "suggested-fix",
      "desc": "keep rvp locked across vn_get_namelen; vput exactly once per path (git apply --check passes)"
    },
    {
      "path": "manifest.json",
      "type": "manifest",
      "desc": "this catalog"
    },
    {
      "path": "fix_apply.log",
      "type": "apply-log",
      "desc": "patch --dry-run output proving fix.diff applies cleanly on with-src"
    },
    {
      "path": "../fix_build_combined.log",
      "type": "build-log",
      "desc": "Combined 41-finding kernel build (rc=0, -Werror clean)"
    },
    {
      "path": "../fix_build_summary.txt",
      "type": "build-summary",
      "desc": "Summary of the combined 41-finding kernel build"
    }
  ]
}