CWE
476
Advisory Published
CVE Published
Updated

CVE-2024-27053: wifi: wilc1000: fix RCU usage in connect path

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 SoftwareAffected VersionHow 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

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Reference Links

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2024 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203