{
  "finding_id": "DF-0926",
  "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": "REPRODUCED",
  "impact": "panic",
  "confidence": "certain",
  "reproduce": {
    "build": "./build.sh",
    "run": "./run.sh",
    "expected": "kernel panic; see panic.txt / run.log. On a fixed kernel: exits 0, no panic."
  },
  "kernel_refs": [
    "sys/vfs/fuse/fuse_node.c:106",
    "sys/vfs/fuse/fuse_node.c:107",
    "sys/vfs/fuse/fuse_node.c:108",
    "sys/vfs/fuse/fuse_node.c:111",
    "sys/vfs/fuse/fuse_node.c:114",
    "sys/vfs/fuse/fuse_vnops.c:56",
    "sys/vfs/fuse/fuse_vnops.c:81",
    "sys/vfs/fuse/fuse_vnops.c:915",
    "sys/vfs/fuse/fuse_vnops.c:920",
    "sys/vfs/fuse/fuse_vnops.c:927",
    "sys/vfs/fuse/fuse.h:31",
    "sys/vfs/fuse/fuse.h:32",
    "sys/vfs/fuse/fuse.h:33"
  ],
  "artifacts": [
    {
      "path": "fusedev.c",
      "type": "trigger-source",
      "desc": "standalone malicious FUSE daemon (no libfuse), reuses nodeid 100 across VREG lookup and VDIR mkdir"
    },
    {
      "path": "fusedemo.c",
      "type": "trigger-source",
      "desc": "original libfuse-based daemon (does not build on guest: no libfuse installed)"
    },
    {
      "path": "trigger.sh",
      "type": "run-script",
      "desc": "unprivileged ls+mkdir sequence that fires the panic"
    },
    {
      "path": "build.sh",
      "type": "build-script",
      "desc": "cc -o fusedev fusedev.c"
    },
    {
      "path": "run.sh",
      "type": "run-script",
      "desc": "kldload fuse, start daemon, trigger as maxx"
    },
    {
      "path": "panic.txt",
      "type": "panic-signature",
      "desc": "KKASSERT in fuse_set_attr called from fuse_vop_nmkdir"
    },
    {
      "path": "env.txt",
      "type": "environment",
      "desc": "uname/kern.version/cc/sysctl at verification time"
    },
    {
      "path": "fix.diff",
      "type": "suggested-fix",
      "desc": "reject nodeid-reuse with conflicting type in fuse_alloc_node (validated)"
    },
    {
      "path": "fix_build.log",
      "type": "build-log",
      "desc": "full build of patched fuse.ko module, BUILD_RC=0"
    },
    {
      "path": "fix_run.log",
      "type": "run-log",
      "desc": "3x deterministic post-fix PoC runs (mkdir returns EINVAL, no panic)"
    },
    {
      "path": "fix_env.txt",
      "type": "environment",
      "desc": "patched-kernel environment: kern.version, fuse.ko sha256, patched source excerpt"
    },
    {
      "path": "run.log",
      "type": "run-log",
      "desc": "decisive baseline reproduction run output incl panic"
    },
    {
      "path": "VERDICT.md",
      "type": "verdict",
      "desc": "full narrative analysis"
    },
    {
      "path": "README.md",
      "type": "readme",
      "desc": "initial PoC README from finding scaffolding"
    },
    {
      "path": "manifest.json",
      "type": "manifest",
      "desc": "this catalog"
    },
    {
      "path": "build.log",
      "type": "build-log",
      "desc": "kernel build log excerpt proving -Werror clean compile of patched source"
    },
    {
      "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"
    }
  ]
}