Patch "wifi: nl80211: fix NL80211_ATTR_MLO_LINK_ID off-by-one" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    wifi: nl80211: fix NL80211_ATTR_MLO_LINK_ID off-by-one

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     wifi-nl80211-fix-nl80211_attr_mlo_link_id-off-by-one.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 36467276a2d3eeceee6d3b7e32b0693336501be3
Author: Lin Ma <linma@xxxxxxxxxx>
Date:   Sun Dec 1 01:05:26 2024 +0800

    wifi: nl80211: fix NL80211_ATTR_MLO_LINK_ID off-by-one
    
    [ Upstream commit 2e3dbf938656986cce73ac4083500d0bcfbffe24 ]
    
    Since the netlink attribute range validation provides inclusive
    checking, the *max* of attribute NL80211_ATTR_MLO_LINK_ID should be
    IEEE80211_MLD_MAX_NUM_LINKS - 1 otherwise causing an off-by-one.
    
    One crash stack for demonstration:
    ==================================================================
    BUG: KASAN: wild-memory-access in ieee80211_tx_control_port+0x3b6/0xca0 net/mac80211/tx.c:5939
    Read of size 6 at addr 001102080000000c by task fuzzer.386/9508
    
    CPU: 1 PID: 9508 Comm: syz.1.386 Not tainted 6.1.70 #2
    Call Trace:
     <TASK>
     __dump_stack lib/dump_stack.c:88 [inline]
     dump_stack_lvl+0x177/0x231 lib/dump_stack.c:106
     print_report+0xe0/0x750 mm/kasan/report.c:398
     kasan_report+0x139/0x170 mm/kasan/report.c:495
     kasan_check_range+0x287/0x290 mm/kasan/generic.c:189
     memcpy+0x25/0x60 mm/kasan/shadow.c:65
     ieee80211_tx_control_port+0x3b6/0xca0 net/mac80211/tx.c:5939
     rdev_tx_control_port net/wireless/rdev-ops.h:761 [inline]
     nl80211_tx_control_port+0x7b3/0xc40 net/wireless/nl80211.c:15453
     genl_family_rcv_msg_doit+0x22e/0x320 net/netlink/genetlink.c:756
     genl_family_rcv_msg net/netlink/genetlink.c:833 [inline]
     genl_rcv_msg+0x539/0x740 net/netlink/genetlink.c:850
     netlink_rcv_skb+0x1de/0x420 net/netlink/af_netlink.c:2508
     genl_rcv+0x24/0x40 net/netlink/genetlink.c:861
     netlink_unicast_kernel net/netlink/af_netlink.c:1326 [inline]
     netlink_unicast+0x74b/0x8c0 net/netlink/af_netlink.c:1352
     netlink_sendmsg+0x882/0xb90 net/netlink/af_netlink.c:1874
     sock_sendmsg_nosec net/socket.c:716 [inline]
     __sock_sendmsg net/socket.c:728 [inline]
     ____sys_sendmsg+0x5cc/0x8f0 net/socket.c:2499
     ___sys_sendmsg+0x21c/0x290 net/socket.c:2553
     __sys_sendmsg net/socket.c:2582 [inline]
     __do_sys_sendmsg net/socket.c:2591 [inline]
     __se_sys_sendmsg+0x19e/0x270 net/socket.c:2589
     do_syscall_x64 arch/x86/entry/common.c:51 [inline]
     do_syscall_64+0x45/0x90 arch/x86/entry/common.c:81
     entry_SYSCALL_64_after_hwframe+0x63/0xcd
    
    Update the policy to ensure correct validation.
    
    Fixes: 7b0a0e3c3a88 ("wifi: cfg80211: do some rework towards MLO link APIs")
    Signed-off-by: Lin Ma <linma@xxxxxxxxxx>
    Suggested-by: Cengiz Can <cengiz.can@xxxxxxxxxxxxx>
    Link: https://patch.msgid.link/20241130170526.96698-1-linma@xxxxxxxxxx
    Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 797907303669..5b9f39d93b04 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -811,7 +811,7 @@ static const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = {
 	[NL80211_ATTR_MLO_LINKS] =
 		NLA_POLICY_NESTED_ARRAY(nl80211_policy),
 	[NL80211_ATTR_MLO_LINK_ID] =
-		NLA_POLICY_RANGE(NLA_U8, 0, IEEE80211_MLD_MAX_NUM_LINKS),
+		NLA_POLICY_RANGE(NLA_U8, 0, IEEE80211_MLD_MAX_NUM_LINKS - 1),
 	[NL80211_ATTR_MLD_ADDR] = NLA_POLICY_EXACT_LEN(ETH_ALEN),
 	[NL80211_ATTR_MLO_SUPPORT] = { .type = NLA_FLAG },
 	[NL80211_ATTR_MAX_NUM_AKM_SUITES] = { .type = NLA_REJECT },




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux