linux-stable/net
Mikhail Lobanov 365771ee3d wifi: mac80211: check basic rates validity in sta_link_apply_parameters
commit 16ee3ea8fa upstream.

When userspace sets supported rates for a new station via
NL80211_CMD_NEW_STATION, it might send a list that's empty
or contains only invalid values. Currently, we process these
values in sta_link_apply_parameters() without checking the result of
ieee80211_parse_bitrates(), which can lead to an empty rates bitmap.

A similar issue was addressed for NL80211_CMD_SET_BSS in commit
ce04abc3fc ("wifi: mac80211: check basic rates validity").
This patch applies the same approach in sta_link_apply_parameters()
for NL80211_CMD_NEW_STATION, ensuring there is at least one valid
rate by inspecting the result of ieee80211_parse_bitrates().

Found by Linux Verification Center (linuxtesting.org) with Syzkaller.

Fixes: b95eb7f0ee ("wifi: cfg80211/mac80211: separate link params from station params")
Signed-off-by: Mikhail Lobanov <m.lobanov@rosa.ru>
Link: https://patch.msgid.link/20250317103139.17625-1-m.lobanov@rosa.ru
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: "Hanne-Lotta Mäenpää" <hannelotta@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-08-28 16:28:41 +02:00
..
6lowpan
9p
802
8021q
appletalk
atm
ax25
batman-adv
bluetooth Bluetooth: hci_sock: Reset cookie to zero in hci_sock_free_cookie() 2025-08-28 16:28:19 +02:00
bpf
bpfilter
bridge
caif caif: reduce stack size, again 2025-08-15 12:08:45 +02:00
can
ceph
core net: better track kernel sockets lifetime 2025-08-28 16:28:39 +02:00
dcb
dccp
devlink
dns_resolver
dsa
ethernet
ethtool
handshake
hsr net, hsr: reject HSR frame if skb can't hold tag 2025-08-28 16:28:39 +02:00
ieee802154
ife
ipv4 net: ipv4: fix incorrect MTU in broadcast routes 2025-08-28 16:28:20 +02:00
ipv6 ipv6: sr: Fix MAC comparison to be constant-time 2025-08-28 16:28:39 +02:00
iucv
kcm
key
l2tp
l3mdev
lapb
llc
mac80211 wifi: mac80211: check basic rates validity in sta_link_apply_parameters 2025-08-28 16:28:41 +02:00
mac802154
mctp net: mctp: Prevent duplicate binds 2025-08-28 16:28:20 +02:00
mpls
mptcp net: better track kernel sockets lifetime 2025-08-28 16:28:39 +02:00
ncsi net: ncsi: Fix buffer overflow in fetching version id 2025-08-28 16:28:24 +02:00
netfilter netfilter: ctnetlink: fix refcount leak on table dump 2025-08-28 16:28:14 +02:00
netlabel
netlink net: better track kernel sockets lifetime 2025-08-28 16:28:39 +02:00
netrom
nfc
nsh
openvswitch
packet net/packet: fix a race in packet_set_ring() and packet_notifier() 2025-08-15 12:09:05 +02:00
phonet
psample
qrtr
rds net: better track kernel sockets lifetime 2025-08-28 16:28:39 +02:00
rfkill
rose
rxrpc
sched net/sched: ets: use old 'nbands' while purging unused classes 2025-08-28 16:28:40 +02:00
sctp sctp: linearize cloned gso packets in sctp_rcv 2025-08-28 16:28:14 +02:00
smc net: better track kernel sockets lifetime 2025-08-28 16:28:39 +02:00
strparser
sunrpc net: better track kernel sockets lifetime 2025-08-28 16:28:39 +02:00
switchdev
tipc
tls tls: handle data disappearing from under the TLS ULP 2025-08-28 16:28:14 +02:00
unix
vmw_vsock vsock/virtio: Validate length in packet header before skb_put() 2025-08-28 16:28:36 +02:00
wireless wifi: cfg80211: reject HTC bit for management frames 2025-08-28 16:28:20 +02:00
x25
xdp
xfrm xfrm: Duplicate SPI Handling 2025-08-28 16:28:22 +02:00
compat.c
devres.c
Kconfig
Kconfig.debug
Makefile
socket.c
sysctl_net.c