CVE-2026-98340

Summary

In the Linux kernel, the following vulnerability has been resolved:

wifi: cfg80211: only group hidden BSSes with beacon entries

When a probe response for an unknown BSS comes in, __cfg80211_bss_update() looks for an existing entry with the same BSSID and a hidden (zero-length or NUL-filled) SSID, and if it finds one it groups them, using the beacon IEs from the existing entry.

But that could find another entry without a beacon, if it was also from a probe response (with SSID), so there's a group without beacon elements.

If a beacon with a hidden SSID for that BSSID arrives later, cfg80211_combine_bsses() goes looking for the probe response entries that belong to it - i.e. entries with the same BSSID and channel that have no beacon IEs - and finds those two. They are already grouped with each other, so it hits its

WARN_ON_ONCE(bss->pub.hidden_beacon_bss) WARN_ON_ONCE(!list_empty(&bss->hidden_list))

which are there because an entry without beacon elements is not supposed to be part of a group yet.

Only combine entries when a beacon was already received, ones that are kept separate will be combined when a beacon arrives.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux4593c4cbe1c96b3995727dc42f6aa103f4ff5afc < 4cd6a518ce7527284bbc9baab5fa2453a7d477c2affected
LinuxLinux4593c4cbe1c96b3995727dc42f6aa103f4ff5afc < 74ed0d992f392c75e1969415527e06df3f7a4034affected
LinuxLinux4593c4cbe1c96b3995727dc42f6aa103f4ff5afc < 3658093df69849daf4f813a8f087f358e13be203affected
LinuxLinux4593c4cbe1c96b3995727dc42f6aa103f4ff5afc < 73365b81630b57e1a1f9d50dc87281797855c2acaffected
LinuxLinux4593c4cbe1c96b3995727dc42f6aa103f4ff5afc < 7405dd19bda4537a2843637d8d7bed1efd4776cfaffected
LinuxLinux4593c4cbe1c96b3995727dc42f6aa103f4ff5afc < 86235be788094131912e9bd8412b358d91d99f49affected
LinuxLinux4593c4cbe1c96b3995727dc42f6aa103f4ff5afc < 332ea1502c46f53375cb109fa82bfaff818f3a41affected
LinuxLinux4593c4cbe1c96b3995727dc42f6aa103f4ff5afc < 068843ed0902c552a13860c5ec6b2ca65b57a065affected
LinuxLinux3.9affected
LinuxLinux0 < 3.9unaffected
LinuxLinux5.10.271 <= 5.10.*unaffected
LinuxLinux5.15.222 <= 5.15.*unaffected
LinuxLinux6.1.189 <= 6.1.*unaffected
LinuxLinux6.6.158 <= 6.6.*unaffected
LinuxLinux6.12.112 <= 6.12.*unaffected
LinuxLinux6.18.54 <= 6.18.*unaffected
LinuxLinux7.2.8 <= 7.2.*unaffected
LinuxLinux7.3-rc4 <= *unaffected

Weaknesses

References