Linux: wifi: mac80211: refuse to make a monitor active when it has no queue
What fixes it
- 46c223468537a05a404699771cd3e68532dab5e6LinuxCVE List
- 2b04d6556964ae9f89819b86a0a7801e39c3aae5LinuxCVE 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: refuse to make a monitor active when it has no queue
A monitor interface only gets a TXQ if it's created active, and one can't be added later. Setting the flag on a down interface is still allowed, so the driver is handed a monitor with no queue. ath9k dereferences it:
BUG: kernel NULL pointer dereference, address: 0000000000000066 RIP: 0010:ath_tx_node_init+0x49/0x170 [ath9k] ath9k_add_interface+0x10c/0x140 [ath9k] drv_add_interface+0x54/0x250 [mac80211] ieee80211_do_open+0x32f/0x800 [mac80211]
Reached with CAP_NET_ADMIN by "iw dev X set monitor active" followed by "ip link set X up". RTNL is held, so netlink operations block behind it.
Refuse the flag when there is no queue to give.
Text from CVE List
Affected versions 10
- Linuxaffected: 79af1f866193de29e65a4dba7d0dab14b0c0ff93 before b7b7d46ec4fa127767931938b282c361c0519af6CVE List
- Linuxaffected: 79af1f866193de29e65a4dba7d0dab14b0c0ff93 before abe15e643e576459469867758ae9c586a7bab95dCVE List
- Linuxaffected: 79af1f866193de29e65a4dba7d0dab14b0c0ff93 before 46c223468537a05a404699771cd3e68532dab5e6CVE List
- Linuxaffected: 79af1f866193de29e65a4dba7d0dab14b0c0ff93 before 2b04d6556964ae9f89819b86a0a7801e39c3aae5CVE List
- Linuxaffected: 4.15CVE List
- Linuxunaffected: all versions before 4.15CVE List
- Linuxunaffected: 6.12.112 through 6.12.*CVE List
- Linuxunaffected: 6.18.54 through 6.18.*CVE List
- Linuxunaffected: 7.2.8 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 4
- git.kernel.org/stable/c/b7b7d46ec4fa127767931938b282c361c0519af6Referencevia CVE List
- git.kernel.org/stable/c/abe15e643e576459469867758ae9c586a7bab95dReferencevia CVE List
- git.kernel.org/stable/c/46c223468537a05a404699771cd3e68532dab5e6Referencevia CVE List
- git.kernel.org/stable/c/2b04d6556964ae9f89819b86a0a7801e39c3aae5Referencevia CVE List