⬢ DragonFlyBSD Kernel Audit
DF-4472 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4472",
  "title": "dm_table_load_ioctl: uninitialized stack pointer `type` dereferenced as a string (strcmp/ksnprintf wild read -> panic)",
  "verdict": "reproduced",
  "impact": "panic",
  "confidence": "certain",
  "reproduce": {
    "build": "cc -o dm_uninit_type dm_uninit_type.c -lprop -lpthread",
    "run": "./dm_uninit_type ; ./dm_uninit_type --flood 8 800",
    "expected": "groom: destroy-proof==rounds (wild lookup executed every round, rv2=ENOENT + table wiped); flood: Fatal trap 12, Stopped at strcmp+0xc, guest down"
  },
  "kernel_refs": [
    "sys/dev/disk/dm/dm_ioctl.c:684",
    "sys/dev/disk/dm/dm_ioctl.c:690-695",
    "sys/dev/disk/dm/dm_ioctl.c:730-732",
    "sys/dev/disk/dm/dm_ioctl.c:737-741",
    "sys/dev/disk/dm/dm_target.c:104",
    "sys/dev/disk/dm/dm_target.c:127",
    "sys/dev/disk/dm/dm_target.c:74",
    "sys/libprop/prop_dictionary_util.c:185-198"
  ],
  "artifacts": [
    "dm_uninit_type.c", "build.sh", "run.sh", "run.log", "panic.txt",
    "fix.diff", "env.txt", "VERDICT.md", "README.md", "manifest.json", "verdict.json"
  ]
}