⬢ DragonFlyBSD Kernel Audit
DF-5585 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-5585",
  "title": "pccard_cis_quirks fast path trusts stale pf / absent pf_last state: latent write-after-free and NULL-page write (unreachable with the shipped table)",
  "verdict": "reproduced-in-rig / latent-in-kernel",
  "impact": "none",
  "file": "sys/bus/pccard/pccard_cis_quirks.c",
  "kernel_refs": [
    "sys/bus/pccard/pccard_cis_quirks.c:263",
    "sys/bus/pccard/pccard_cis_quirks.c:270",
    "sys/bus/pccard/pccard_cis_quirks.c:280",
    "sys/bus/pccard/pccard_cis_quirks.c:282",
    "sys/bus/pccard/pccard_cis_quirks.c:248",
    "sys/bus/pccard/pccard_cis_quirks.c:178",
    "sys/bus/pccard/pccardvar.h:128"
  ],
  "reproduce": {
    "build": "cc -O2 -Wall -o poc_quirkfastpath poc_quirkfastpath.c",
    "run": "./poc_quirkfastpath all",
    "expected": "FREED-WRITE[repeat] first diff at +41 (write into the pf kfree'd at pccard_cis_quirks.c:282); nulltemplate child SIGSEGV at ~0x28/0x30; matchmatrix: shipped-table fast path reachable: NO; fixed_* scenarios CLEAN"
  },
  "artifacts": [
    "README.md", "VERDICT.md", "poc_quirkfastpath.c", "build.sh", "run.sh",
    "build.log", "run.log", "run.2.log", "fidelity.diff", "fix.diff",
    "env.txt", "manifest.json", "verdict.json"
  ]
}