Vulnerability · CVE-2026-98406
wifi: mac80211: avoid WARN in set_bitrate_mask when sdata not in driver
Published Oct 14, 2026 · catalog updated Oct 15, 2026 · wifi: mac80211: avoid WARN
Check if you run it
No confirmed exploitation is on record for CVE-2026-98406. EPSS is 0.22%. Act only if a listed version of wifi: mac80211: avoid WARN is installed.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (wifi: mac80211: avoid WARN).
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- Severity
- High—
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- 0.22%
- Remediation
- Not established
- Affected products
- Linux Kernel
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: avoid WARN in set_bitrate_mask when sdata not in driver ieee80211_set_bitrate_mask() checks if the interface is running via ieee80211_sdata_running(), but it does not check if the interface is still present in the driver. When sdata is running but IEEE80211_SDATA_IN_DRIVER is not set, the call reaches drv_set_bitrate_mask() in driver-ops.h which hits wlan1: Failed check-sdata-in-driver check, flags: 0x0 WARNING: net/mac80211/driver-ops.h:884 at drv_set_bitrate_mask Syzkaller triggers this via wext SIOCSIWRATE ioctl. The Call Trace shows wext_ioctl_dispatch() in wext-core.c dispatching the ioctl, calling ioctl_standard_call() for SIOCSIWRATE, which calls cfg80211_wext_siwrate() in wext-compat.c. That builds a bitrate mask and calls rdev_set_bitrate_mask() which ends up in ieee80211_set_bitrate_mask() in cfg.c. The interface is marked running via SDATA_STATE_RUNNING but flags is 0, so check_sdata_in_driver() fails. When the interface is being torn down, or when wext ioctl is issued during interface bringup before drv_add_interface() sets IN_DRIVER, the running check passes while IN_DRIVER is clear. Check IEEE80211_SDATA_IN_DRIVER in ieee80211_set_bitrate_mask() before calling the driver, returning -ENETDOWN. This avoids the WARN_ONCE in driver-ops.h and matches other cfg.c operations that bail early when not in driver. This change should be safe because wiphy mutex is held in cfg80211_wext_siwrate() via guard(wiphy), and IN_DRIVER is set/cleared under RTNL and wiphy paths in drv_add_interface() and drv_remove_interface() in driver-ops.c, so the check is race-free against driver add/remove. Returning -ENETDOWN is the same error other not-running paths use and does not introduce new locking. [also add second syzbot report]
Are you affected?
Enter the version you run. The result uses only the ranges stored on this record.
The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.
- Linux Kernel3.5.0 → 5.10.271
How to fix CVE-2026-98406
Recommended remediation
No required-action text, fix commit, or clear fixed-version range is stored yet.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
No confirmed exploitation is on record for CVE-2026-98406. EPSS is 0.22%. Act only if a listed version of wifi: mac80211: avoid WARN is installed.
Which versions are affected?
Compare what you have installed with Kernel 3.5.0 → 5.10.271. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
No weakness class is stored. EPSS 0.22%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 14, 2026 · OpenSSF OSV / OSV Scanner
Detected
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: avoid WARN in set_bitrate_mask when sdata not in driver ieee80211_set_bitrate_mask() checks if the interface is running via ieee80211_sdata_running(), but it does not check if the interface is still present in the driver. When sdata is running but IEEE80211_SDATA_IN_DRIVER is not set, the call reaches drv_set_bitra
Oct 15, 2026 · OpenSSF OSV / OSV Scanner
Fix available
Kernel fixed in 5.10.271
Oct 15, 2026 · OpenSSF OSV / OSV Scanner
Fix available
Kernel fixed in 5.10.271
Oct 15, 2026 · OpenSSF OSV / OSV Scanner
Updated
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: avoid WARN in set_bitrate_mask when sdata not in driver ieee80211_set_bitrate_mask() checks if the interface is running via ieee80211_sdata_running(), but it does not check if the interface is still present in the driver. When sdata is running but IEEE80211_SDATA_IN_DRIVER is not set, the call reaches drv_set_bitra
Sources
- CVE.orgVulnerability recordCVE-2026-98406
Official CVE identifier
cve.org - FIRST EPSSExploitation probabilityCVE-2026-98406
30-day exploitation probability 0.2%
first.org - OpenSSF OSV / OSV ScannerPackage advisoryCVE-2026-98406
wifi: mac80211: avoid WARN in set_bitrate_mask when sdata not in driver
osv.dev - Tenable CVE DatabaseVulnerability recordCVE-2026-98406
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: avoid WARN in set_bitrate_mask when sdata not in driver ieee80211_set_bitrate_mask() checks if the interface is running via ieee80211_sdata_running(), but it does not check if the interface is still present in the driver. When sdata is running but IEEE80211_SDATA_IN_DRIVER is not set, the call reaches drv_set_bitra
tenable.com
References
Freshness
Last verified in this catalog Oct 18, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.