β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-4296

musycc_attach error-path asymmetry leaves half-initialized csoftc on the global list; sibling-function attach then NULL-derefs

Summary

For PCI function 0, attach inserts csc into the global list BEFORE any resource setup; a later BAR/IRQ/intr failure returns without removing it - leaving virbase[0]==NULL on the list. Function 1's attach then finds that csc (or derefs csc==NULL) and unconditionally writes csc->reg->glcd - a NULL-deref write panic at boot. Intermediate paths also leak resources. Unwind-on-fail + NULL-check fix.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-4296 Β· 2 files
FileTypeDescriptionSize
README.md file 202 B ↓ raw
verdict.json file 830 B view raw
README.md file
↓ download raw

DF-4296

Hardware-gated (musycc) finding - PoC skipped per contract. Source citations in the pass-2 result block.

Fix: LIST_REMOVE unwind on failure + NULL-check the sibling csc before dereferencing

Fix verification

not_testable
baseline no→ patch + rebuild →patched clean

LIST_REMOVE unwind on failure + NULL-check the sibling csc before dereferencing

source-only
per-fix-DF-4296

Confirmed kernel references

Detail

Exploit chain

[]

Evidence (decisive lines)

source-only; full path:line trace in pass-2 result block

Verdict

source-verified; hardware-gated (LMC1504 PCI absent on audit guest; ng control socket root-only)