{
  "finding_id": "DF-0876",
  "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": "leak",
  "confidence": "certain",
  "reproduce": {
    "build": "./build.sh",
    "run": "./run.sh",
    "expected": "kernel memory/pointer leak; see leak_sample.txt / run.log."
  },
  "kernel_refs": [
    "sys/vfs/ext2fs/ext2_csum.c:666",
    "sys/vfs/ext2fs/ext2_csum.c:684",
    "sys/vfs/ext2fs/ext2_csum.c:685",
    "sys/vfs/ext2fs/ext2_csum.c:686",
    "sys/vfs/ext2fs/ext2_csum.c:708",
    "sys/vfs/ext2fs/ext2_vfsops.c:549",
    "sys/vfs/ext2fs/ext2_vfsops.c:647",
    "sys/vfs/ext2fs/ext2_vfsops.c:688",
    "sys/vfs/ext2fs/ext2fs.h:94",
    "sys/vfs/ext2fs/ext2fs.h:372"
  ],
  "artifacts": [
    {
      "path": "harness.c",
      "type": "trigger-source",
      "desc": "deterministic C harness transcribing ext2_gd_csum verbatim; proves OOB read length 65503 + page-boundary SIGSEGV"
    },
    {
      "path": "craft_img.py",
      "type": "trigger-source",
      "desc": "host-side image crafter: mke2fs -O metadata_csum,^64bit + binary-patch s_desc_size=0xFFFF + recompute superblock CRC32C"
    },
    {
      "path": "ext2_bad.img",
      "type": "crafted-input",
      "desc": "4MB crafted ext2 image (s_desc_size=0xFFFF, metadata_csum on, 64bit off)"
    },
    {
      "path": "ext2_bad_tiny.img",
      "type": "crafted-input",
      "desc": "1MB crafted ext2 image variant"
    },
    {
      "path": "build.sh",
      "type": "build-script",
      "desc": "cc -O2 -o harness harness.c"
    },
    {
      "path": "run.sh",
      "type": "run-script",
      "desc": "./harness; documents in-kernel reproduce steps"
    },
    {
      "path": "build.log",
      "type": "build-log",
      "desc": "full harness compile output"
    },
    {
      "path": "run.log",
      "type": "run-log",
      "desc": "full harness run output (CASE A/B/C/D + SIGSEGV)"
    },
    {
      "path": "run.baseline.raw.log",
      "type": "run-log",
      "desc": "baseline (unpatched ext2fs.ko) in-kernel reproduction: EIO + csum-diff info leak, 3 runs"
    },
    {
      "path": "fix_run.log",
      "type": "run-log",
      "desc": "patched ext2fs.ko in-kernel result: EINVAL on bad image (no OOB read), 3 runs"
    },
    {
      "path": "fix_run.raw.log",
      "type": "run-log",
      "desc": "raw patched run capture"
    },
    {
      "path": "fix_build.log",
      "type": "build-log",
      "desc": "full patched ext2fs.ko module build output (rc=0)"
    },
    {
      "path": "panic.txt",
      "type": "panic-signature",
      "desc": "no kernel panic observed; the OOB read leaks silently via csum diff on this heap layout; harness demonstrates the page-fault path deterministically"
    },
    {
      "path": "fix.diff",
      "type": "suggested-fix",
      "desc": "git-apply-able two-hunk fix: vfsops.c mount-time desc_size validation + ext2_csum.c defense-in-depth clamp"
    },
    {
      "path": "env.txt",
      "type": "environment",
      "desc": "guest uname, compiler version, kernel build"
    },
    {
      "path": "env.raw.txt",
      "type": "environment",
      "desc": "raw env capture"
    },
    {
      "path": "VERDICT.md",
      "type": "verdict",
      "desc": "full narrative: mechanism, impact, fix validation"
    },
    {
      "path": "README.md",
      "type": "readme",
      "desc": "summary + reproduce instructions"
    },
    {
      "path": "manifest.json",
      "type": "manifest",
      "desc": "this file"
    },
    {
      "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"
    }
  ]
}