DF-3629 / verdict.json
{ "finding_id": "DF-3629", "status": "inconclusive", "reproduced": 0, "poc_path": "findings/poc/DF-3629", "artifact_dir": "findings/poc/DF-3629", "build_cmd": "n/a (no iwm hardware on guest)", "run_cmd": "n/a (no iwm hardware on guest)", "code_hash": "727da3ca96051da6d4eb49eb17f6d8daff4046d36b22da6bc6e8ee969d5f344d", "build_log": null, "run_log": null, "impact": "none", "confidence": "certain", "verdict": "iwm_rx_tx_cmd() indexes sc->txq[qid]/ring->data[idx] with qid/idx taken straight from the firmware-DMAd command header (if_iwm.c:3597-3604) with no bounds check; sc->txq[] has IWM_MAX_QUEUES==31 entries (if_iwmvar.h:447, if_iwmreg.h:1923) while qid is a uint8_t, so qid in 31..255 is an OOB ring access that is then WRITTEN (txd->done=1, txd->m=NULL, txd->in=NULL at :3620-3622; --ring->queued at :3627) and dereferenced (wild in->in_ni at :3480-3483,:3624). iwn twin of DF-1122 (High). Not exercisable on the audit guest: if_iwm.ko loads but no Intel Wireless PCI device exists, so the TX-completion path never runs (env.txt). Source-level certainty: the arithmetic and the write sites are unconditional on that path.", "exploit_chain": "", "evidence": "VERDICT.md (source trace + guest reality); README.md (arithmetic); env.txt (no-device proof); fix.diff (applies clean)", "kernel_refs": [ "sys/dev/netif/iwm/if_iwm.c:3588", "sys/dev/netif/iwm/if_iwm.c:3597", "sys/dev/netif/iwm/if_iwm.c:3601", "sys/dev/netif/iwm/if_iwm.c:3620", "sys/dev/netif/iwm/if_iwm.c:3624", "sys/dev/netif/iwm/if_iwm.c:5453", "sys/dev/netif/iwm/if_iwmvar.h:447", "sys/dev/netif/iwm/if_iwmreg.h:1923" ], "poc_changes": "n/a - source-level verification; no runnable kernel PoC possible without iwm hardware", "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 (qid/idx bounds check + drop) applies cleanly to sys/dev/netif/iwm/if_iwm.c", "fix_status": "not_testable", "fix_baseline_reproduced": false, "fix_patched_reproduced": false, "fix_verdict": "fix.diff (qid/idx bounds check + drop) applies cleanly to sys/dev/netif/iwm/if_iwm.c; in-kernel validation impossible - no iwm device on guest to generate TX completions", "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)" } |