First published: Wed May 01 2024(Updated: )
In the Linux kernel, the following vulnerability has been resolved: wifi: wilc1000: fix RCU usage in connect path With lockdep enabled, calls to the connect function from cfg802.11 layer lead to the following warning: ============================= WARNING: suspicious RCU usage 6.7.0-rc1-wt+ #333 Not tainted ----------------------------- drivers/net/wireless/microchip/wilc1000/hif.c:386 suspicious rcu_dereference_check() usage! [...] stack backtrace: CPU: 0 PID: 100 Comm: wpa_supplicant Not tainted 6.7.0-rc1-wt+ #333 Hardware name: Atmel SAMA5 unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x34/0x48 dump_stack_lvl from wilc_parse_join_bss_param+0x7dc/0x7f4 wilc_parse_join_bss_param from connect+0x2c4/0x648 connect from cfg80211_connect+0x30c/0xb74 cfg80211_connect from nl80211_connect+0x860/0xa94 nl80211_connect from genl_rcv_msg+0x3fc/0x59c genl_rcv_msg from netlink_rcv_skb+0xd0/0x1f8 netlink_rcv_skb from genl_rcv+0x2c/0x3c genl_rcv from netlink_unicast+0x3b0/0x550 netlink_unicast from netlink_sendmsg+0x368/0x688 netlink_sendmsg from ____sys_sendmsg+0x190/0x430 ____sys_sendmsg from ___sys_sendmsg+0x110/0x158 ___sys_sendmsg from sys_sendmsg+0xe8/0x150 sys_sendmsg from ret_fast_syscall+0x0/0x1c This warning is emitted because in the connect path, when trying to parse target BSS parameters, we dereference a RCU pointer whithout being in RCU critical section. Fix RCU dereference usage by moving it to a RCU read critical section. To avoid wrapping the whole wilc_parse_join_bss_param under the critical section, just use the critical section to copy ies data
Credit: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Software | Affected Version | How to fix |
---|---|---|
ubuntu/linux | <5.4.0-189.209 | 5.4.0-189.209 |
ubuntu/linux | <5.15.0-112.122 | 5.15.0-112.122 |
ubuntu/linux | <6.8.0-35.35 | 6.8.0-35.35 |
ubuntu/linux | <6.9~ | 6.9~ |
ubuntu/linux-aws | <5.4.0-1128.138 | 5.4.0-1128.138 |
ubuntu/linux-aws | <5.15.0-1063.69 | 5.15.0-1063.69 |
ubuntu/linux-aws | <6.8.0-1009.9 | 6.8.0-1009.9 |
ubuntu/linux-aws | <6.9~ | 6.9~ |
ubuntu/linux-aws-5.15 | <5.15.0-1063.69~20.04.1 | 5.15.0-1063.69~20.04.1 |
ubuntu/linux-aws-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-aws-5.4 | <6.9~ | 6.9~ |
ubuntu/linux-aws-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-aws-fips | <6.9~ | 6.9~ |
ubuntu/linux-aws-hwe | <6.9~ | 6.9~ |
ubuntu/linux-azure | <5.4.0-1133.140 | 5.4.0-1133.140 |
ubuntu/linux-azure | <5.15.0-1066.75 | 5.15.0-1066.75 |
ubuntu/linux-azure | <6.8.0-1008.8 | 6.8.0-1008.8 |
ubuntu/linux-azure | <6.9~ | 6.9~ |
ubuntu/linux-azure-4.15 | <6.9~ | 6.9~ |
ubuntu/linux-azure-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-azure-5.4 | <5.4.0-1133.140~18.04.1 | 5.4.0-1133.140~18.04.1 |
ubuntu/linux-azure-5.4 | <6.9~ | 6.9~ |
ubuntu/linux-azure-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-azure-fde | <5.15.0-1067.76.1 | 5.15.0-1067.76.1 |
ubuntu/linux-azure-fde | <6.9~ | 6.9~ |
ubuntu/linux-azure-fde-5.15 | <5.15.0-1065.74~20.04.1.1 | 5.15.0-1065.74~20.04.1.1 |
ubuntu/linux-azure-fde-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-azure-fips | <6.9~ | 6.9~ |
ubuntu/linux-bluefield | <5.4.0-1088.95 | 5.4.0-1088.95 |
ubuntu/linux-bluefield | <6.9~ | 6.9~ |
ubuntu/linux-fips | <6.9~ | 6.9~ |
ubuntu/linux-gcp | <5.4.0-1132.141 | 5.4.0-1132.141 |
ubuntu/linux-gcp | <5.15.0-1062.70 | 5.15.0-1062.70 |
ubuntu/linux-gcp | <6.8.0-1008.9 | 6.8.0-1008.9 |
ubuntu/linux-gcp | <6.9~ | 6.9~ |
ubuntu/linux-gcp-4.15 | <6.9~ | 6.9~ |
ubuntu/linux-gcp-5.15 | <5.15.0-1062.70~20.04.1 | 5.15.0-1062.70~20.04.1 |
ubuntu/linux-gcp-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-gcp-5.4 | <5.4.0-1132.141~18.04.1 | 5.4.0-1132.141~18.04.1 |
ubuntu/linux-gcp-5.4 | <6.9~ | 6.9~ |
ubuntu/linux-gcp-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-gcp-fips | <6.9~ | 6.9~ |
ubuntu/linux-gke | <5.15.0-1060.66 | 5.15.0-1060.66 |
ubuntu/linux-gke | <6.8.0-1004.7 | 6.8.0-1004.7 |
ubuntu/linux-gke | <6.9~ | 6.9~ |
ubuntu/linux-gkeop | <5.4.0-1095.99 | 5.4.0-1095.99 |
ubuntu/linux-gkeop | <5.15.0-1046.53 | 5.15.0-1046.53 |
ubuntu/linux-gkeop | <6.9~ | 6.9~ |
ubuntu/linux-gkeop-5.15 | <5.15.0-1046.53~20.04.1 | 5.15.0-1046.53~20.04.1 |
ubuntu/linux-gkeop-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-hwe | <6.9~ | 6.9~ |
ubuntu/linux-hwe-5.15 | <5.15.0-113.123~20.04.1 | 5.15.0-113.123~20.04.1 |
ubuntu/linux-hwe-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-hwe-5.4 | <5.4.0-189.209~18.04.1 | 5.4.0-189.209~18.04.1 |
ubuntu/linux-hwe-5.4 | <6.9~ | 6.9~ |
ubuntu/linux-hwe-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-ibm | <5.4.0-1075.80 | 5.4.0-1075.80 |
ubuntu/linux-ibm | <5.15.0-1056.59 | 5.15.0-1056.59 |
ubuntu/linux-ibm | <6.8.0-1006.6 | 6.8.0-1006.6 |
ubuntu/linux-ibm | <6.9~ | 6.9~ |
ubuntu/linux-ibm-5.15 | <5.15.0-1057.60~20.04.1 | 5.15.0-1057.60~20.04.1 |
ubuntu/linux-ibm-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-ibm-5.4 | <5.4.0-1075.80~18.04.1 | 5.4.0-1075.80~18.04.1 |
ubuntu/linux-ibm-5.4 | <6.9~ | 6.9~ |
ubuntu/linux-intel | <6.9~ | 6.9~ |
ubuntu/linux-intel-iotg | <5.15.0-1058.64 | 5.15.0-1058.64 |
ubuntu/linux-intel-iotg | <6.9~ | 6.9~ |
ubuntu/linux-intel-iotg-5.15 | <5.15.0-1058.64~20.04.1 | 5.15.0-1058.64~20.04.1 |
ubuntu/linux-intel-iotg-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-iot | <5.4.0-1040.41 | 5.4.0-1040.41 |
ubuntu/linux-iot | <6.9~ | 6.9~ |
ubuntu/linux-kvm | <5.4.0-1116.123 | 5.4.0-1116.123 |
ubuntu/linux-kvm | <5.15.0-1060.65 | 5.15.0-1060.65 |
ubuntu/linux-kvm | <6.9~ | 6.9~ |
ubuntu/linux-laptop | <6.9~ | 6.9~ |
ubuntu/linux-lowlatency | <5.15.0-110.120 | 5.15.0-110.120 |
ubuntu/linux-lowlatency | <6.8.0-35.35.1 | 6.8.0-35.35.1 |
ubuntu/linux-lowlatency | <6.9~ | 6.9~ |
ubuntu/linux-lowlatency-hwe-5.15 | <5.15.0-110.120~20.04.1 | 5.15.0-110.120~20.04.1 |
ubuntu/linux-lowlatency-hwe-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-lowlatency-hwe-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-lts-xenial | <6.9~ | 6.9~ |
ubuntu/linux-nvidia | <5.15.0-1058.59 | 5.15.0-1058.59 |
ubuntu/linux-nvidia | <6.9~ | 6.9~ |
ubuntu/linux-nvidia-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-oem-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-oem-6.8 | <6.8.0-1006.6 | 6.8.0-1006.6 |
ubuntu/linux-oem-6.8 | <6.9~ | 6.9~ |
ubuntu/linux-oracle | <5.4.0-1127.136 | 5.4.0-1127.136 |
ubuntu/linux-oracle | <5.15.0-1061.67 | 5.15.0-1061.67 |
ubuntu/linux-oracle | <6.8.0-1006.6 | 6.8.0-1006.6 |
ubuntu/linux-oracle | <6.9~ | 6.9~ |
ubuntu/linux-oracle-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-oracle-5.4 | <5.4.0-1127.136~18.04.1 | 5.4.0-1127.136~18.04.1 |
ubuntu/linux-oracle-5.4 | <6.9~ | 6.9~ |
ubuntu/linux-oracle-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-raspi | <5.4.0-1112.124 | 5.4.0-1112.124 |
ubuntu/linux-raspi | <5.15.0-1058.61 | 5.15.0-1058.61 |
ubuntu/linux-raspi | <6.8.0-1005.5 | 6.8.0-1005.5 |
ubuntu/linux-raspi | <6.9~ | 6.9~ |
ubuntu/linux-raspi-5.4 | <6.9~ | 6.9~ |
ubuntu/linux-riscv | <6.8.0-35.35.1 | 6.8.0-35.35.1 |
ubuntu/linux-riscv | <6.9~ | 6.9~ |
ubuntu/linux-riscv-5.15 | <5.15.0-1059.63~20.04.1 | 5.15.0-1059.63~20.04.1 |
ubuntu/linux-riscv-5.15 | <6.9~ | 6.9~ |
ubuntu/linux-riscv-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-starfive | <6.9~ | 6.9~ |
ubuntu/linux-starfive-6.5 | <6.9~ | 6.9~ |
ubuntu/linux-xilinx-zynqmp | <5.4.0-1047.51 | 5.4.0-1047.51 |
ubuntu/linux-xilinx-zynqmp | <5.15.0-1030.34 | 5.15.0-1030.34 |
ubuntu/linux-xilinx-zynqmp | <6.9~ | 6.9~ |
debian/linux | 5.10.218-1 5.10.221-1 6.1.94-1 6.1.99-1 6.9.10-1 6.9.12-1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
(Appears in the following advisories)