In the Linux kernel, the following vulnerability has been resolved:
mac802154: fix llsec key resources release in mac802154_llsec_key_del
mac802154_llsec_key_del() can free resources of a key directly without following the RCU rules for waiting before the end of a grace period. This may lead to use-after-free in case llsec_lookup_key() is traversing the list of keys in parallel with a key deletion:
refcount_t: addition on 0; use-after-free. WARNING: CPU: 4 PID: 16000 at lib/refcount.c:25 refcount_warn_saturate+0x162/0x2a0 Modules linked in: CPU: 4 PID: 16000 Comm: wpan-ping Not tainted 6.7.0 #19 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 RIP: 0010:refcount_warn_saturate+0x162/0x2a0 Call Trace: <TASK> llsec_lookup_key.isra.0+0x890/0x9e0 mac802154_llsec_encrypt+0x30c/0x9c0 ieee802154_subif_start_xmit+0x24/0x1e0 dev_hard_start_xmit+0x13e/0x690 sch_direct_xmit+0x2ae/0xbc0 __dev_queue_xmit+0x11dd/0x3c20 dgram_sendmsg+0x90b/0xd60 __sys_sendto+0x466/0x4c0 __x64_sys_sendto+0xe0/0x1c0 do_syscall_64+0x45/0xf0 entry_SYSCALL_64_after_hwframe+0x6e/0x76
Also, ieee802154_llsec_key_entry structures are not freed by mac802154_llsec_key_del():
unreferenced object 0xffff8880613b6980 (size 64): comm "iwpan", pid 2176, jiffies 4294761134 (age 60.475s) hex dump (first 32 bytes): 78 0d 8f 18 80 88 ff ff 22 01 00 00 00 00 ad de x......."....... 00 00 00 00 00 00 00 00 03 00 cd ab 00 00 00 00 ................ backtrace: [<ffffffff81dcfa62>] __kmem_cache_alloc_node+0x1e2/0x2d0 [<ffffffff81c43865>] kmalloc_trace+0x25/0xc0 [<ffffffff88968b09>] mac802154_llsec_key_add+0xac9/0xcf0 [<ffffffff8896e41a>] ieee802154_add_llsec_key+0x5a/0x80 [<ffffffff8892adc6>] nl802154_add_llsec_key+0x426/0x5b0 [<ffffffff86ff293e>] genl_family_rcv_msg_doit+0x1fe/0x2f0 [<ffffffff86ff46d1>] genl_rcv_msg+0x531/0x7d0 [<ffffffff86fee7a9>] netlink_rcv_skb+0x169/0x440 [<ffffffff86ff1d88>] genl_rcv+0x28/0x40 [<ffffffff86fec15c>] netlink_unicast+0x53c/0x820 [<ffffffff86fecd8b>] netlink_sendmsg+0x93b/0xe60 [<ffffffff86b91b35>] ____sys_sendmsg+0xac5/0xca0 [<ffffffff86b9c3dd>] ___sys_sendmsg+0x11d/0x1c0 [<ffffffff86b9c65a>] __sys_sendmsg+0xfa/0x1d0 [<ffffffff88eadbf5>] do_syscall_64+0x45/0xf0 [<ffffffff890000ea>] entry_SYSCALL_64_after_hwframe+0x6e/0x76
Handle the proper resource release in the RCU callback function mac802154_llsec_key_del_rcu().
Note that if llsec_lookup_key() finds a key, it gets a refcount via llsec_key_get() and locally copies key id from key_entry (which is a list element). So it's safe to call llsec_key_put() and free the list entry after the RCU grace period elapses.
Found by Linux Verification Center (linuxtesting.org).
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernelUpgrade kernel-docUpgrade libperfUpgrade kernel-64k-modules-coreUpgrade kernel-modules-extraUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-coreUpgrade kernel-coreUpgrade kernel-rt-debug-develUpgrade kernel-debug-modules-coreUpgrade kernel-64k-develUpgrade kernel-develUpgrade kernel-64k-debug-develUpgrade kernel-rt-debug-kvmUpgrade kernel-debug-coreUpgrade kernel-rt-debugUpgrade kernel-debug-uki-virtUpgrade kernel-modulesUpgrade kernel-cross-headersUpgrade python3-perfUpgrade rtlaUpgrade kernel-zfcpdump-develUpgrade kernel-modules-coreUpgrade kernel-zfcpdumpUpgrade kernel-debug-develUpgrade kernel-headersUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-uki-virtUpgrade kernel-debugUpgrade kernel-devel-matchedUpgrade kernel-64k-coreUpgrade kernel-64k-debug-modulesUpgrade kernel-64kUpgrade kernel-debug-modules-extraUpgrade kernel-64k-debug-modules-coreUpgrade kernel-debug-modulesUpgrade kernel-zfcpdump-modulesUpgrade kernel-rtUpgrade kernel-64k-debug-devel-matchedUpgrade rvUpgrade kernel-rt-debug-coreUpgrade kernel-tools-libs-develUpgrade kernel-rt-kvmUpgrade kernel-rt-modulesUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernel-zfcpdump-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-develUpgrade kernel-64k-devel-matchedUpgrade kernel-toolsUpgrade kernel-64k-debugUpgrade kernel-64k-modulesUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-modules-extraUpgrade kernel-64k-debug-coreUpgrade perfUpgrade bpftoolUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-64k-modules-extraUpgrade kernel-64k-debug-modules-extra | Aug 12, 2024 | May 1, 2024 |
| Amazon Linux Ami 2 | — | Upgrade perf-debuginfoUpgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-livepatch-5.10.215-203.850Upgrade kernel-debuginfoUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-headersUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade python-perf-debuginfoUpgrade python-perfUpgrade kernel-livepatch-5.15.156-102.160 | Aug 14, 2024 | May 1, 2024 |
| Debian | — | Upgrade linux | May 8, 2024 | May 1, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libs | Jul 16, 2024 | May 1, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade kernelUpgrade python3-perf | Oct 8, 2024 | May 1, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade kernel-tools | Jul 17, 2024 | May 1, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | May 1, 2024 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | Aug 12, 2024 | May 1, 2024 |
| Rocky_linux | — | Upgrade kernel-rt-modules-extraUpgrade kernel-tools-libsUpgrade kernel-zfcpdump-coreUpgrade rvUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-debug-modulesUpgrade kernel-rt-modules-coreUpgrade bpftoolUpgrade libperf-debuginfoUpgrade kernel-cross-headersUpgrade kernel-debug-uki-virtUpgrade kernel-rt-debug-coreUpgrade python3-perf-debuginfoUpgrade kernel-rt-debug-debuginfoUpgrade kernelUpgrade kernel-rtUpgrade kernel-rt-develUpgrade kernel-tools-libs-develUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-rt-kvmUpgrade kernel-debug-modules-coreUpgrade kernel-debug-modules-extraUpgrade kernel-develUpgrade kernel-rt-debugUpgrade kernel-modulesUpgrade kernel-rt-modulesUpgrade perfUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-debug-coreUpgrade bpftool-debuginfoUpgrade kernel-zfcpdump-develUpgrade kernel-modules-coreUpgrade rtlaUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debug-kvmUpgrade libperfUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-uki-virtUpgrade kernel-debug-devel-matchedUpgrade kernel-debug-develUpgrade kernel-debug-debuginfoUpgrade perf-debuginfoUpgrade kernel-rt-coreUpgrade kernel-headersUpgrade kernel-rt-debug-develUpgrade kernel-modules-extraUpgrade kernel-debuginfoUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdumpUpgrade kernel-rt-debuginfoUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-devel-matchedUpgrade kernel-debugUpgrade kernel-tools-debuginfoUpgrade kernel-coreUpgrade python3-perf | Aug 22, 2024 | May 1, 2024 |
| Suse | — | Upgrade cluster-md-kmp-azureUpgrade gfs2-kmp-defaultUpgrade kernel-obs-qaUpgrade dtb-renesasUpgrade kernel-rt-livepatchUpgrade kernel-symsUpgrade dtb-amazonUpgrade dtb-xilinxUpgrade kernel-rt-develUpgrade gfs2-kmp-64kbUpgrade reiserfs-kmp-azureUpgrade kernel-zfcpdumpUpgrade kernel-develUpgrade kselftests-kmp-64kbUpgrade kernel-debugUpgrade kernel-64kb-optionalUpgrade dtb-apmUpgrade dtb-hisiliconUpgrade kernel-default-vdsoUpgrade kernel-default-livepatch-develUpgrade kernel-source-azureUpgrade dtb-mediatekUpgrade dtb-caviumUpgrade kernel-64kbUpgrade kernel-devel-rtUpgrade kernel-64kb-develUpgrade kernel-64kb-extraUpgrade kselftests-kmp-rtUpgrade kernel-64kb-livepatch-develUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-rtUpgrade dtb-allwinnerUpgrade kernel-kvmsmall-develUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-alteraUpgrade kernel-default-optionalUpgrade ocfs2-kmp-defaultUpgrade cluster-md-kmp-rtUpgrade kernel-default-baseUpgrade kernel-debug-develUpgrade ocfs2-kmp-azureUpgrade dlm-kmp-64kbUpgrade kernel-kvmsmall-livepatch-develUpgrade kselftests-kmp-defaultUpgrade dtb-amdUpgrade dtb-armUpgrade kernel-default-develUpgrade gfs2-kmp-azureUpgrade kernel-syms-rtUpgrade kernel-debug-vdsoUpgrade kernel-devel-azureUpgrade kernel-source-rtUpgrade kernel-default-extraUpgrade dtb-broadcomUpgrade dtb-rockchipUpgrade ocfs2-kmp-64kbUpgrade kernel-defaultUpgrade kernel-docs-htmlUpgrade kernel-debug-livepatch-develUpgrade kernel-docsUpgrade kernel-rt_debugUpgrade gfs2-kmp-rtUpgrade kernel-sourceUpgrade kernel-source-vanillaUpgrade kernel-kvmsmall-vdsoUpgrade kernel-kvmsmallUpgrade kernel-azure-vdsoUpgrade kernel-azure-develUpgrade dtb-marvellUpgrade dtb-amlogicUpgrade reiserfs-kmp-rtUpgrade dtb-nvidiaUpgrade dtb-lgUpgrade cluster-md-kmp-64kbUpgrade dtb-sprdUpgrade cluster-md-kmp-defaultUpgrade kernel-azureUpgrade kernel-obs-buildUpgrade kernel-rt_debug-vdsoUpgrade kernel-rt-vdsoUpgrade kernel-rtUpgrade kernel-syms-azureUpgrade reiserfs-kmp-64kbUpgrade kernel-azure-livepatch-develUpgrade dtb-freescaleUpgrade dtb-appleUpgrade dlm-kmp-azureUpgrade dlm-kmp-defaultUpgrade kernel-azure-optionalUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade kernel-macrosUpgrade dtb-exynosUpgrade dlm-kmp-rtUpgrade kernel-default-base-rebuildUpgrade dtb-qcomUpgrade kernel-rt-livepatch-develUpgrade kernel-default-livepatchUpgrade kernel-azure-extraUpgrade dtb-socionextUpgrade kselftests-kmp-azureUpgrade kernel-rt-extra | Jun 24, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-6.8.0-35-genericUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gkeUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-1058-ibmUpgrade linux-image-6.8.0-1004-gkeUpgrade linux-image-oem-24.04Upgrade linux-image-virtualUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-intelUpgrade linux-image-oem-20.04dUpgrade linux-image-oracleUpgrade linux-image-5.15.0-1060-nvidiaUpgrade linux-image-genericUpgrade linux-image-5.15.0-1060-intel-iotgUpgrade linux-image-gcpUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-35-lowlatency-64kUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-5.15.0-1065-gcpUpgrade linux-image-6.8.0-35-lowlatencyUpgrade linux-image-6.8.0-1006-oemUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1068-azureUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-oracle-64kUpgrade linux-image-azure-cvmUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-oem-24.04aUpgrade linux-image-5.15.0-116-generic-64kUpgrade linux-image-5.15.0-1068-azure-fdeUpgrade linux-image-5.15.0-116-genericUpgrade linux-image-5.15.0-1060-nvidia-lowlatencyUpgrade linux-image-6.8.0-1009-awsUpgrade linux-image-6.8.0-1008-azure-fdeUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-1062-kvmUpgrade linux-image-5.15.0-1065-awsUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1064-gcpUpgrade linux-image-5.15.0-1063-oracleUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1008-gcpUpgrade linux-image-5.15.0-116-generic-lpaeUpgrade linux-image-6.8.0-1006-ibmUpgrade linux-image-oem-20.04cUpgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-35-generic-64kUpgrade linux-image-ibmUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1005-raspiUpgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1062-gkeUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1008-azureUpgrade linux-image-6.8.0-1006-oracleUpgrade linux-image-azureUpgrade linux-image-aws-lts-22.04Upgrade linux-image-awsUpgrade linux-image-raspi-nolpaeUpgrade linux-image-ibm-classicUpgrade linux-image-azure-fdeUpgrade linux-image-generic-lpaeUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.0-1006-oracle-64kUpgrade linux-image-5.15.0-116-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-raspiUpgrade linux-image-5.15.0-116-lowlatencyUpgrade linux-image-5.15.0-1048-gkeopUpgrade linux-image-generic-64k-hwe-24.04 | Jul 1, 2024 | May 1, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 1, 2024 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub