wifi: cfg80211: get the wiphy out of a dying network namespace
In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: get the wiphy out of a dying network namespace When a network namespace is destroyed, cfg80211_pernet_exit() moves any wiphy back to the initial namespace, and just warns if that fails. But moving an interface can fail (due to allocation failures), and then the wiphy is left behind with a garbage netns pointer: Kernel mode fault at addr 0x30 genlmsg_multicast_netns.constprop.0+0x46/0xcf [cfg80211] nl80211_notify_wiphy+0xcd/0xe8 [cfg80211] wiphy_unregister+0x169/0x3fc [cfg80211] Note that commit debac3a20dec ("net: Remove conflicting altnames for dying netns in __dev_change_net_namespace().") fixed another path that could reach it without allocation failures. Remove interfaces that cannot be moved instead of failing the switch, so that the wiphy always ends up in the initial namespace. In this case the netdev core will unregister the interfaces anyway.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.18.54, 7.2.8
- CVEs
- CVE-2026-98330
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 22:46 UTC · Revision 1
Source evidence
wifi: cfg80211: get the wiphy out of a dying network namespace
core-osv · Original sourcePublished 6 Oct 2026, 08:46 UTC
In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: get the wiphy out of a dying network namespace When a network namespace is destroyed, cfg80211_pernet_exit() moves any wiphy back to the initial namespace, and just warns if that fails. But moving an interface can fail (due to allocation failures), and then the wiphy is left behind with a garbage netns pointer: Kernel mode fault at addr 0x30 genlmsg_multicast_netns.constprop.0+0x46/0xcf [cfg80211] nl80211_notify_wiphy+0xcd/0xe8 [cfg80211] wiphy_unregister+0x169/0x3fc [cfg80211] Note that commit debac3a20dec ("net: Remove conflicting altnames for dying netns in __dev_change_net_namespace().") fixed another path that could reach it without allocation failures. Remove interfaces that cannot be moved instead of failing the switch, so that the wiphy always ends up in the initial namespace. In this case the netdev core will unregister the interfaces anyway.
osv:CVE-2026-98330
Kernel
Fixed versions: 6.18.54, 7.2.8
Complete source record
{
"id": "07b47d36ee6845e29d8ad987c6d83951790298b1d9e1b45610d9de06d553fef1",
"url": "https://osv.dev/vulnerability/CVE-2026-98330",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "wifi: cfg80211: get the wiphy out of a dying network namespace",
"summary": "In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: get the wiphy out of a dying network namespace When a network namespace is destroyed, cfg80211_pernet_exit() moves any wiphy back to the initial namespace, and just warns if that fails. But moving an interface can fail (due to allocation failures), and then the wiphy is left behind with a garbage netns pointer: Kernel mode fault at addr 0x30 genlmsg_multicast_netns.constprop.0+0x46/0xcf [cfg80211] nl80211_notify_wiphy+0xcd/0xe8 [cfg80211] wiphy_unregister+0x169/0x3fc [cfg80211] Note that commit debac3a20dec (\"net: Remove conflicting altnames for dying netns in __dev_change_net_namespace().\") fixed another path that could reach it without allocation failures. Remove interfaces that cannot be moved instead of failing the switch, so that the wiphy always ends up in the initial namespace. In this case the netdev core will unregister the interfaces anyway.",
"evidence": "osv:CVE-2026-98330",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.18.54",
"evidence": "/affected/1/ranges"
},
{
"value": "7.2.8",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2026-98330",
"aliases": [
"CVE-2026-98330"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "463d018323851a608eef52a9427b0585005c647f"
},
{
"fixed": "caa02072b2986d4b0e7a824de05782ef7b03a0ba"
},
{
"fixed": "b949b2720688691f1e41bdbfbe3df2b6dc77c34d"
},
{
"fixed": "4635b1a1c1d693178a537446a6e09963f0fdae52"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98330.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.6.32"
},
{
"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-98330.json"
}
}
],
"modified": "2026-10-28T02:30:40.052335969Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/4635b1a1c1d693178a537446a6e09963f0fdae52",
"https://git.kernel.org/stable/c/b949b2720688691f1e41bdbfbe3df2b6dc77c34d",
"https://git.kernel.org/stable/c/caa02072b2986d4b0e7a824de05782ef7b03a0ba",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98330.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-98330",
"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-98330.json"
}
},
"related_cves": [
{
"value": "CVE-2026-98330",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 507725,
"published_at": "2026-10-06T08:46:22.688+00:00"
}