DF-1157 / run.sh
#!/bin/sh # DF-1157 runtime trigger is NOT exercisable on this guest. # # wpi_rx_done (sys/dev/netif/wpi/if_wpi.c:1959-2068) runs only on the Intel # 3945ABG (wpi) WiFi adapter's RX interrupt path. This QEMU/KVM guest has no # WiFi hardware (pciconf shows only virtio-net 0x1af4:0x1000; no 0x028000 # network class device), so the interrupt handler is never registered and # wpi_rx_done is never called. wpi IS compiled into the default GENERIC kernel # (device wpi, X86_64_GENERIC:272), so the code path exists in the live image. # # Realistic threat model (physical Intel 3945ABG / VFIO passthrough): a buggy or # hostile firmware/PHY (or a malicious AP) reporting head->len up to 65535 makes # tail = (head+1)+len point past the 4KB MJUMPAGESIZE RX cluster; tail->flags is # then dereferenced at if_wpi.c:1970 BEFORE the lower-bound check at :1984 (OOB # heap read), and m_len is set to the unbounded len at :2028, so ieee80211_input # walks past the cluster. Same class as iwn (DF-1123). # # What WAS validated here: source-trace of the unbounded head->len (VERDICT.md) # and that fix.diff applies + compiles + boots clean (fix_validation.txt). echo "DF-1157: runtime trigger requires an Intel 3945ABG (wpi) WiFi adapter." echo " Not exercisable on this QEMU/KVM guest (no WiFi hardware)." echo " See VERDICT.md for the source-level confirmation + fix." exit 0 |