CVE-2026-72003 in the brcmfmac driver is an integer underflow when processing authentication frames, but the real vulnerability is the trust boundary between firmware and kernel that should have prevented this.

The bug lives in brcmf_notify_auth_frame_rx(). The driver receives e->datalen from firmware and validates it against sizeof(struct brcmf_rx_mgmt_data). That check prevents obvious overflows, but it's the wrong threshold. The IEEE 802.11 protocol requires management frame data to be at least offsetof(struct ieee80211_mgmt, u) — 24 bytes. Frames shorter than that are malformed by definition, regardless of what the firmware reports. The fix adds a protocol-level floor check, and it's a one-liner.

What's not a one-liner is the design failure underneath. The brcmfmac driver treats firmware-provided lengths as implicitly trusted, and this is the fourth CVE in four years where that assumption proved wrong (CVE-2021-29257, CVE-2022-42722, and this one). The firmware event interface gives you a raw u32 with no metadata about whether that length was validated, came from a protocol field, or is garbage from a firmware bug. Every new event handler written against this interface inherits the same uncertainty. That's a structural smell, not a coincidence.

The broadcast medium makes this worse than a typical kernel parsing bug. A malformed authentication frame from a malfunctioning AP crashes every client in radio range simultaneously — no need for a sophisticated adversary, just buggy enterprise gear in a coffee shop or office. You don't need to be a high-value target; you just need to be in range.

Your immediate actions: apply the vendor patch. Then audit other brcmfmac event handlers for the same pattern — lengths validated against struct layout but not against protocol requirements. The pattern e->datalen < sizeof(something) without a corresponding protocol floor check is what to search for. Until the firmware event interface is refactored to carry provenance metadata about where lengths come from, this class of bug will keep appearing in new code paths.