⬢ DragonFlyBSD Kernel Audit
DF-3633 / verdict.json
← back to finding ↓ download raw
{
  "finding_id": "DF-3633",
  "status": "inconclusive",
  "reproduced": 0,
  "poc_path": "findings/poc/DF-3633",
  "artifact_dir": "findings/poc/DF-3633",
  "build_cmd": "n/a (no iwm hardware on guest)",
  "run_cmd": "n/a (no iwm hardware on guest)",
  "code_hash": "d33cf71cffce25c7e9d2d44d6e90e80543947cb89ea0e59c8b08c55a90492939",
  "build_log": null,
  "run_log": null,
  "impact": "none",
  "confidence": "certain",
  "verdict": "iwm_notif_intr() masks the device-DMAd closed_rb_num to 12 bits (hw = ... & 0xfff, if_iwm.c:5710) but walks a 256-entry (legacy) or 512-entry (mq) ring with ring->cur = (ring->cur+1) % count (:5715-5727). Any device-written value in [count,4096) makes the while-loop predicate unsatisfiable -> infinite loop in interrupt context holding sc->sc_lk with interrupts masked = hard system hang, no panic. iwm twin of iwn DF-3581. Not exercisable on the guest (no iwm device, env.txt); loop arithmetic is certain from source.",
  "exploit_chain": "",
  "evidence": "VERDICT.md; README.md; env.txt; fix.diff (mask hw with count-1, applies clean)",
  "kernel_refs": [
    "sys/dev/netif/iwm/if_iwm.c:5710",
    "sys/dev/netif/iwm/if_iwm.c:5715",
    "sys/dev/netif/iwm/if_iwm.c:5726",
    "sys/dev/netif/iwm/if_iwmvar.h:287"
  ],
  "poc_changes": "n/a - source-level verification",
  "attempts": 1,
  "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": 60,
  "guest_dirty": 0,
  "notes": "iwm module loads on guest (kldload if_iwm) but attaches to no device: pciconf shows no Intel Wireless NIC, no wlan interface appears. Verification is source-level (plus the DF-3631 logic-level harness).",
  "recommended_fix": "fix.diff masks hw to (count-1)",
  "fix_status": "not_testable",
  "fix_baseline_reproduced": false,
  "fix_patched_reproduced": false,
  "fix_verdict": "fix.diff masks hw to (count-1); applies cleanly; no device to validate in-kernel",
  "fix_evidence": "fix.diff verified with patch --dry-run against sys/dev/netif/iwm/if_iwm.c; no kernel-level validation possible (no iwm device)"
}