DragonFlyBSD Kernel Audit
DF-0009 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-0009",
  "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",
  "fix_kernel_uname": "DragonFly 6.5-DEVELOPMENT #1: Thu Jul  2 17:53:57 UTC 2026    root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC (sha256 b95380b6f2720f892651fc9303f0fe6d48bfa66998438bf0c9029e16dc4b0aeb)",
  "code_hash": "b9a306d0f9e7f73e4c245b4cc038294a3be6c13dd327ab55b89b5a9764a94a47",
  "tested_at": "2026-07-22T18:10:00Z",
  "verdict": "REPRODUCED + FIX VALIDATED",
  "impact": "leak:21bytes(11+10 kernel pointers/run, KASLR-defeat)",
  "confidence": "certain",
  "fix_status": "fixed",
  "fix_baseline_reproduced": 1,
  "fix_patched_reproduced": 0,
  "reproduce": {
    "build": "./build.sh",
    "run": "./run.sh",
    "expected": "kernel memory/pointer leak; see leak_sample.txt / run.log."
  },
  "kernel_refs": [
    "sys/kern/vfs_subr.c:1845",
    "sys/kern/vfs_subr.c:1850",
    "sys/kern/vfs_subr.c:1863",
    "sys/sys/mount.h:478",
    "sys/sys/mount.h:483",
    "sys/sys/mount.h:487"
  ],
  "artifacts": [
    {
      "path": "leak_vfsconf.c",
      "type": "trigger-source",
      "desc": "unprivileged sysctl reader of VFS_CONF; prints vfc_vfsops/vfc_next per fs type"
    },
    {
      "path": "VERDICT.md",
      "type": "verdict",
      "desc": "full narrative: reproduced, line-by-line trace, evidence table, fix validation before/after"
    },
    {
      "path": "README.md",
      "type": "readme",
      "desc": "human build/run/expected summary"
    },
    {
      "path": "build.sh",
      "type": "build-script",
      "desc": "cc -o leak_vfsconf leak_vfsconf.c"
    },
    {
      "path": "run.sh",
      "type": "run-script",
      "desc": "./leak_vfsconf as unprivileged user"
    },
    {
      "path": "build.log",
      "type": "build-log",
      "desc": "final successful build, full output"
    },
    {
      "path": "baseline_run.log",
      "type": "run-log",
      "desc": "#0 unpatched baseline: 11/10 pointers leaked (run 1 of 3, decisive)"
    },
    {
      "path": "run.log",
      "type": "run-log",
      "desc": "stability run 1 on prior #1 kernel, 11 leaked .data pointers"
    },
    {
      "path": "run.2.log",
      "type": "run-log",
      "desc": "stability run 2 (byte-identical)"
    },
    {
      "path": "run.3.log",
      "type": "run-log",
      "desc": "stability run 3 (byte-identical)"
    },
    {
      "path": "leak_sample.txt",
      "type": "leak-sample",
      "desc": "nm cross-ref: each leaked vfc_vfsops matches an exact kernel symbol; kernel text/data bounds"
    },
    {
      "path": "env.txt",
      "type": "environment",
      "desc": "uname, cc version, nm symbol table"
    },
    {
      "path": "fix.diff",
      "type": "suggested-fix",
      "desc": "redact vfc_vfsops/vfc_next in VFS_CONF and ovfs_conf paths (VALIDATED: applies cleanly, compiles, closes the leak on #1)"
    },
    {
      "path": "fix_build.log",
      "type": "build-log",
      "desc": "single-fix nativekernel build, rc=0, 35524 lines"
    },
    {
      "path": "fix_run.log",
      "type": "run-log",
      "desc": "#1 single-fix kernel PoC run: 0/0 pointers leaked, exit 2"
    },
    {
      "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"
    }
  ]
}