⬢ DragonFlyBSD Kernel Audit
DF-4299 / verdict.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4299",
  "status": "untested",
  "reproduced": 0,
  "impact": "none",
  "confidence": "likely",
  "verdict": "Analysis-only: emu_pcm_attach() frees sc on the late-failure (pcm_register) path without mixer_uninit(), leaving /dev/mixerNs devinfo dangling (UAF on the next mixer ioctl) and leaking the AC97 submixer. Not verifiable on the audit guest: snd_emu10kx_pcm requires SB Live!/Audigy PCI hardware the guest does not emulate.",
  "exploit_chain": "",
  "evidence": "VERDICT.md path trace: emu10kx-pcm.c:1399 (mixer_init), :1467 (pcm_register failure), :1488-1494 (bad: kfree without mixer_uninit); sound.c mixer_init devinfo registration.",
  "kernel_refs": [
    "sys/dev/sound/pci/emu10kx-pcm.c:1399",
    "sys/dev/sound/pci/emu10kx-pcm.c:1467",
    "sys/dev/sound/pci/emu10kx-pcm.c:1488"
  ],
  "poc_changes": "n/a \u2014 no PoC (hardware prerequisite absent)",
  "attempts": 0,
  "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 6.5-DEVELOPMENT #0: Thu Jul  2 06:02:54 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64",
  "runtime_sec": 0,
  "guest_dirty": 0,
  "fix_status": "untested",
  "fix_baseline_reproduced": 0,
  "fix_patched_reproduced": 0,
  "fix_verdict": "fix.diff authored from the traced root cause; not built (no hardware)",
  "fix_evidence": "VERDICT.md diff",
  "build_cmd": "n/a",
  "run_cmd": "n/a",
  "code_hash": "",
  "notes": "Distinct sink from known DF-1506 (IRQ consumer dangling on the same path). Reachability of pcm_register failure: sound.c:1021 pcm_veto_load / :1030 unit > PCMMAXUNIT.",
  "recommended_fix": "Run mixer_uninit(dev) on the emu_pcm_attach bad: path when mixer_init succeeded before kfree(sc)."
}