wifi: cfg80211: only group hidden BSSes with beacon entries
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 4593c4cbe1c96b3995727dc42f6aa103f4ff5afc · fixed in 4cd6a518ce7527284bbc9baab5fa2453a7d477c2; From 4593c4cbe1c96b3995727dc42f6aa103f4ff5afc · fixed in 74ed0d992f392c75e1969415527e06df3f7a4034; From 4593c4cbe1c96b3995727dc42f6aa103f4ff5afc · fixed in 3658093df69849daf4f813a8f087f358e13be203; From 4593c4cbe1c96b3995727dc42f6aa103f4ff5afc · fixed in 73365b81630b57e1a1f9d50dc87281797855c2ac; From 4593c4cbe1c96b3995727dc42f6aa103f4ff5afc · fixed in 7405dd19bda4537a2843637d8d7bed1efd4776cf; From 4593c4cbe1c96b3995727dc42f6aa103f4ff5afc · fixed in 86235be788094131912e9bd8412b358d91d99f49; From 4593c4cbe1c96b3995727dc42f6aa103f4ff5afc · fixed in 332ea1502c46f53375cb109fa82bfaff818f3a41; From 4593c4cbe1c96b3995727dc42f6aa103f4ff5afc · fixed in 068843ed0902c552a13860c5ec6b2ca65b57a065
- Linux Linux
3.9
- KernelLinux
From 3.9.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8
References 8
git.kernel.org
- stable/c/4cd6a518ce7527284bbc9baab5fa2453a7d477c2
- stable/c/74ed0d992f392c75e1969415527e06df3f7a4034
- stable/c/3658093df69849daf4f813a8f087f358e13be203
- stable/c/73365b81630b57e1a1f9d50dc87281797855c2ac
- stable/c/7405dd19bda4537a2843637d8d7bed1efd4776cf
- stable/c/86235be788094131912e9bd8412b358d91d99f49
- stable/c/332ea1502c46f53375cb109fa82bfaff818f3a41
- stable/c/068843ed0902c552a13860c5ec6b2ca65b57a065