{"api_version":"1","generated_at":"2026-10-06T22:38:01+00:00","cve":"CVE-2026-98330","urls":{"html":"https://cve.report/CVE-2026-98330","api":"https://cve.report/api/cve/CVE-2026-98330.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-98330","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-98330"},"summary":{"title":"wifi: cfg80211: get the wiphy out of a dying network namespace","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: cfg80211: get the wiphy out of a dying network namespace\n\nWhen a network namespace is destroyed, cfg80211_pernet_exit() moves any\nwiphy back to the initial namespace, and just warns if that fails. But\nmoving an interface can fail (due to allocation failures), and then the\nwiphy is left behind with a garbage netns pointer:\n\n  Kernel mode fault at addr 0x30\n  genlmsg_multicast_netns.constprop.0+0x46/0xcf [cfg80211]\n  nl80211_notify_wiphy+0xcd/0xe8 [cfg80211]\n  wiphy_unregister+0x169/0x3fc [cfg80211]\n\nNote that commit debac3a20dec (\"net: Remove conflicting altnames for\ndying netns in __dev_change_net_namespace().\") fixed another path\nthat could reach it without allocation failures.\n\nRemove interfaces that cannot be moved instead of failing the switch,\nso that the wiphy always ends up in the initial namespace. In this\ncase the netdev core will unregister the interfaces anyway.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-10-06 09:18:25","updated_at":"2026-10-06 09:18:25"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/b949b2720688691f1e41bdbfbe3df2b6dc77c34d","name":"https://git.kernel.org/stable/c/b949b2720688691f1e41bdbfbe3df2b6dc77c34d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4635b1a1c1d693178a537446a6e09963f0fdae52","name":"https://git.kernel.org/stable/c/4635b1a1c1d693178a537446a6e09963f0fdae52","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/caa02072b2986d4b0e7a824de05782ef7b03a0ba","name":"https://git.kernel.org/stable/c/caa02072b2986d4b0e7a824de05782ef7b03a0ba","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-98330","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98330","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 463d018323851a608eef52a9427b0585005c647f caa02072b2986d4b0e7a824de05782ef7b03a0ba git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 463d018323851a608eef52a9427b0585005c647f b949b2720688691f1e41bdbfbe3df2b6dc77c34d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 463d018323851a608eef52a9427b0585005c647f 4635b1a1c1d693178a537446a6e09963f0fdae52 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2.6.32","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 2.6.32 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.54 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.8 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc4 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/wireless/core.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"caa02072b2986d4b0e7a824de05782ef7b03a0ba","status":"affected","version":"463d018323851a608eef52a9427b0585005c647f","versionType":"git"},{"lessThan":"b949b2720688691f1e41bdbfbe3df2b6dc77c34d","status":"affected","version":"463d018323851a608eef52a9427b0585005c647f","versionType":"git"},{"lessThan":"4635b1a1c1d693178a537446a6e09963f0fdae52","status":"affected","version":"463d018323851a608eef52a9427b0585005c647f","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/wireless/core.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"2.6.32"},{"lessThan":"2.6.32","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.54","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.8","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc4","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.54","versionStartIncluding":"2.6.32","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.8","versionStartIncluding":"2.6.32","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc4","versionStartIncluding":"2.6.32","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: cfg80211: get the wiphy out of a dying network namespace\n\nWhen a network namespace is destroyed, cfg80211_pernet_exit() moves any\nwiphy back to the initial namespace, and just warns if that fails. But\nmoving an interface can fail (due to allocation failures), and then the\nwiphy is left behind with a garbage netns pointer:\n\n  Kernel mode fault at addr 0x30\n  genlmsg_multicast_netns.constprop.0+0x46/0xcf [cfg80211]\n  nl80211_notify_wiphy+0xcd/0xe8 [cfg80211]\n  wiphy_unregister+0x169/0x3fc [cfg80211]\n\nNote that commit debac3a20dec (\"net: Remove conflicting altnames for\ndying netns in __dev_change_net_namespace().\") fixed another path\nthat could reach it without allocation failures.\n\nRemove interfaces that cannot be moved instead of failing the switch,\nso that the wiphy always ends up in the initial namespace. In this\ncase the netdev core will unregister the interfaces anyway."}],"providerMetadata":{"dateUpdated":"2026-10-06T08:46:22.688Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/caa02072b2986d4b0e7a824de05782ef7b03a0ba"},{"url":"https://git.kernel.org/stable/c/b949b2720688691f1e41bdbfbe3df2b6dc77c34d"},{"url":"https://git.kernel.org/stable/c/4635b1a1c1d693178a537446a6e09963f0fdae52"}],"title":"wifi: cfg80211: get the wiphy out of a dying network namespace","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-98330","datePublished":"2026-10-06T08:46:22.688Z","dateReserved":"2026-09-25T10:25:14.341Z","dateUpdated":"2026-10-06T08:46:22.688Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-06 09:18:25","lastModifiedDate":"2026-10-06 09:18:25","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"98330","Ordinal":"1","Title":"wifi: cfg80211: get the wiphy out of a dying network namespace","CVE":"CVE-2026-98330","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"98330","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: cfg80211: get the wiphy out of a dying network namespace\n\nWhen a network namespace is destroyed, cfg80211_pernet_exit() moves any\nwiphy back to the initial namespace, and just warns if that fails. But\nmoving an interface can fail (due to allocation failures), and then the\nwiphy is left behind with a garbage netns pointer:\n\n  Kernel mode fault at addr 0x30\n  genlmsg_multicast_netns.constprop.0+0x46/0xcf [cfg80211]\n  nl80211_notify_wiphy+0xcd/0xe8 [cfg80211]\n  wiphy_unregister+0x169/0x3fc [cfg80211]\n\nNote that commit debac3a20dec (\"net: Remove conflicting altnames for\ndying netns in __dev_change_net_namespace().\") fixed another path\nthat could reach it without allocation failures.\n\nRemove interfaces that cannot be moved instead of failing the switch,\nso that the wiphy always ends up in the initial namespace. In this\ncase the netdev core will unregister the interfaces anyway.","Type":"Description","Title":"wifi: cfg80211: get the wiphy out of a dying network namespace"}]}}}