Bug 2560193 (CVE-2026-115697)

Summary: CVE-2026-115697 iwd: HE Capabilities validator reads the wrong byte
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: darunesh
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in iwd. An unauthenticated adjacent attacker can transmit a specially crafted Wi-Fi beacon frame containing a malformed High Efficiency (HE) Capabilities element. Due to an incorrect byte offset check during frame validation, length verification succeeds and triggers an out-of-bounds read of adjacent memory. This flaw allows an attacker to influence connection rate estimation and alter network selection ranking.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2560230    
Bug Blocks:    

Description OSIDB Bzimport 2026-10-23 20:56:51 UTC
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).