Fedora Account System
Red Hat Associate
Red Hat Customer
HE Capabilities validator reads the wrong byte CWE-125. CVSS 3.1: 4.3 Medium CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N src/ie.c:2714 vs src/band.c:631 Introduced 1.30, commit 53988a728533 The Channel Width Set is bits B1-B7 of PHY Capabilities byte 0, element body offset 6 (802.11ax-2021 s9.4.2.248.3). The validator ie_validate_he_capabilities() reads offset 7 while band_estimate_he_rx_rate() and wiphy.c read offset 6 from the same pointer, so its length guards (len < 26 for the 160 MHz MCS map, len < 30 for 80+80) are keyed on the wrong byte. A 22-byte body with hec[6]=0x1C and hec[7]=0x00 passes validation, then drives the estimator into both branches, reading hec[23..24] and hec[27..28]. The local adapter must also advertise the width, since the two sets are ANDed. Passive scanning reaches this path before association. In a real beacon the OOB reads consume attacker-controlled bytes from the following element, influencing the rate used for BSS ranking. Only the HE Capabilities element must be malformed. The fix is one character: (ptr + 7) -> (ptr + 6).