⬢ DragonFlyBSD Kernel Audit
DF-5785 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-5785",
  "verdict": "reproduced",
  "impact": "panic",
  "confidence": "certain",
  "reproduce": {
    "build": "craftA.img forged by ../DF-5784/forge_df5784.py variant A (f1 DIRENT type byte -> 0xAA, ancestors methods=CHECK_NONE, volhdr CRC32Cs recomputed); scp to /root/poc/df5784/",
    "run": "guest root: sh /root/poc/df5784/run_df5785.sh  (control base.img, then craftA mount + ls)",
    "expected": "stock kernel: control lists f1; crafted mount succeeds, ls -> kernel panic 'hammer2_chain_alloc: unrecognized blockref type: 170' (trace: chain_alloc <- chain_get <- chain_lookup <- xop_readdir). patched kernel (fix.diff): ls returns total 0, stat ENOENT, umount OK."
  },
  "kernel_refs": [
    "sys/vfs/hammer2/hammer2_chain.c:194-212",
    "sys/vfs/hammer2/hammer2_chain.c:2050-2098",
    "sys/vfs/hammer2/hammer2_chain.c:2606-2615"
  ],
  "artifacts": [
    "README.md", "VERDICT.md", "run_df5785.sh", "craftA.img",
    "run.log", "run_fix.log", "panic.txt", "build.log",
    "fix.diff", "fix_build.log", "env.txt", "env_fixkernel.txt",
    "code_hashes.txt", "manifest.json", "verdict.json"
  ]
}