All vulnerabilities
CVE-2026-98810

Linux: wifi: mac80211: fix slab-out-of-bounds read in ieee80211_monitor_select_queue()

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.16%Chance of exploitation activity in the next 30 days, higher than 5% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in63e7064b4c1c4b540bf2f0cba47384f92ab95307Also 6f63e919fe1e335b8abcb3a28bfd4804a98d875aCVE List
Published18 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

  • 63e7064b4c1c4b540bf2f0cba47384f92ab95307LinuxCVE List
  • 6f63e919fe1e335b8abcb3a28bfd4804a98d875aLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

In the Linux kernel, the following vulnerability has been resolved:

wifi: mac80211: fix slab-out-of-bounds read in ieee80211_monitor_select_queue()

ieee80211_monitor_select_queue() validates the skb length using skb->len before dereferencing pointers into skb->data to access the 802.11 header. However, skb->len includes data in both the linear head buffer and non-linear fragments/pages. When AF_PACKET sends a packet large enough to become non-linear, the 802.11 header at skb->data + len_rthdr may extend past the linear head buffer even though skb->len appears sufficient.

This leads to a slab-out-of-bounds read when accessing hdr->frame_control, as the kernel reads beyond the allocated skb head buffer:

BUG: KASAN: slab-out-of-bounds in ieee80211_monitor_select_queue+0x1ed/0x220

syzbot has hit the same issues.

Fix this by checking skb_headlen(skb) (which gives the length of the linear data region) instead of skb->len before dereferencing skb->data pointers. This ensures the required bytes are actually present in the linear portion of the skb.

Apply the same fix to ieee80211_validate_radiotap_len() which has the same class of bug: it uses skb->len to validate accesses to skb->data, and to the corresponding checks in ieee80211_monitor_start_xmit(): for drivers advertising NETIF_F_SG the skb is not linearized before ndo_start_xmit, so the 802.11 header can be read past the linear buffer there as well.

Text from CVE List

Affected versions 6

  • Linuxaffected: 9b8a74e3482f9fc077a88c13fa0ceca8feb0b772 before 63e7064b4c1c4b540bf2f0cba47384f92ab95307CVE List
  • Linuxaffected: 9b8a74e3482f9fc077a88c13fa0ceca8feb0b772 before 6f63e919fe1e335b8abcb3a28bfd4804a98d875aCVE List
  • Linuxaffected: 2.6.24CVE List
  • Linuxunaffected: all versions before 2.6.24CVE List
  • Linuxunaffected: 7.2.10 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 2