⬢ DragonFlyBSD Kernel Audit
DF-2319 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-2319",
  "title": "NULL pointer dereference in CISTPL_CFTABLE_ENTRY handler when no CISTPL_CONFIG precedes it",
  "verdict": "reproduced",
  "reproduced": true,
  "impact": "panic",
  "method": "verbatim-rig: production parser sed-extracted byte-identical from guest /usr/src (sha256-gated), driven via pccard_read_cis() with crafted CIS on guard/canary buffers",
  "reproduce": {
    "build": "sh extract.sh . && cc -O2 -Wall -o rig rig_main.c",
    "run": "./rig nullderef_a nullderef_b",
    "expected": "BASELINE (pristine parser): nullderef_a -> SIGSEGV si_addr=0x0, child_exit=91; nullderef_b -> SIGSEGV si_addr=0x30, child_exit=91. WITH fix.diff (f2319 variant): both return normally, card->error=1, child_exit=0; all other scenarios (incl. benign valid card) unchanged."
  },
  "kernel_refs": [
    "sys/bus/pccard/pccard_cis.c:81",
    "sys/bus/pccard/pccard_cis.c:635",
    "sys/bus/pccard/pccard_cis.c:641",
    "sys/bus/pccard/pccard_cis.c:644",
    "sys/bus/pccard/pccard_cis.c:648",
    "sys/bus/pccard/pccard_cis.c:867",
    "sys/bus/pccard/pccard_cis.c:871",
    "sys/bus/pccard/pccard_cis.c:907",
    "sys/bus/pccard/pccard_cis.c:916",
    "sys/bus/pccard/pccard.c:195"
  ],
  "artifacts": [
    "README.md",
    "VERDICT.md",
    "extract.sh",
    "rig_shims.h",
    "rig_main.c",
    "run_matrix.sh",
    "build.sh",
    "run.sh",
    "build.log",
    "run.log",
    "fixed_run.log",
    "baseline_run.log",
    "matrix.log",
    "fix.diff",
    "extract_manifest.txt",
    "postboot_extract_manifest.txt",
    "postboot_run.log",
    "env.txt",
    "kernel_apply.log",
    "kernel_build.tail.log",
    "verdict.json",
    "manifest.json",
    "kernel_build.log",
    "disasm_proof.txt"
  ]
}