wifi: cfg80211: only group hidden BSSes with beacon entries
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.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.271, 5.15.222, 6.1.189, 6.12.112, 6.18.54, 6.6.158, 7.2.8
- CVEs
- CVE-2026-98340
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 21:21 UTC · Revision 1
Source evidence
wifi: cfg80211: only group hidden BSSes with beacon entries
core-osv · Original sourcePublished 6 Oct 2026, 08:46 UTC
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.
osv:CVE-2026-98340
Kernel
Fixed versions: 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.54, 7.2.8
Complete source record
{
"id": "fc05b8562b24f1ed8826337d002a0d8b7df054a70238ffdd7e71b843ff227be1",
"url": "https://osv.dev/vulnerability/CVE-2026-98340",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "wifi: cfg80211: only group hidden BSSes with beacon entries",
"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.",
"evidence": "osv:CVE-2026-98340",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.271",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.222",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.189",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.158",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.112",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.54",
"evidence": "/affected/1/ranges"
},
{
"value": "7.2.8",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-98340",
"aliases": [
"CVE-2026-98340"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "4593c4cbe1c96b3995727dc42f6aa103f4ff5afc"
},
{
"fixed": "4cd6a518ce7527284bbc9baab5fa2453a7d477c2"
},
{
"fixed": "74ed0d992f392c75e1969415527e06df3f7a4034"
},
{
"fixed": "3658093df69849daf4f813a8f087f358e13be203"
},
{
"fixed": "73365b81630b57e1a1f9d50dc87281797855c2ac"
},
{
"fixed": "7405dd19bda4537a2843637d8d7bed1efd4776cf"
},
{
"fixed": "86235be788094131912e9bd8412b358d91d99f49"
},
{
"fixed": "332ea1502c46f53375cb109fa82bfaff818f3a41"
},
{
"fixed": "068843ed0902c552a13860c5ec6b2ca65b57a065"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98340.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.9.0"
},
{
"fixed": "5.10.271"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.222"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.189"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.158"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.112"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.54"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.2.8"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98340.json"
}
}
],
"modified": "2026-10-28T02:30:23.629638390Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/068843ed0902c552a13860c5ec6b2ca65b57a065",
"https://git.kernel.org/stable/c/332ea1502c46f53375cb109fa82bfaff818f3a41",
"https://git.kernel.org/stable/c/3658093df69849daf4f813a8f087f358e13be203",
"https://git.kernel.org/stable/c/4cd6a518ce7527284bbc9baab5fa2453a7d477c2",
"https://git.kernel.org/stable/c/73365b81630b57e1a1f9d50dc87281797855c2ac",
"https://git.kernel.org/stable/c/7405dd19bda4537a2843637d8d7bed1efd4776cf",
"https://git.kernel.org/stable/c/74ed0d992f392c75e1969415527e06df3f7a4034",
"https://git.kernel.org/stable/c/86235be788094131912e9bd8412b358d91d99f49",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98340.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-98340",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98340.json"
}
},
"related_cves": [
{
"value": "CVE-2026-98340",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 490221,
"published_at": "2026-10-06T08:46:30.796+00:00"
}