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).
CVSS Details
- CVSS 3.1 Base Score: 7
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-rt-kvmUpgrade kernel-rtUpgrade kernel-rt-modulesUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-zfcpdump-modulesUpgrade kernel-64k-devel-matchedUpgrade bpftoolUpgrade kernel-64k-debug-modulesUpgrade kernel-debug-devel-matchedUpgrade kernel-tools-libs-develUpgrade kernel-abi-stablelistsUpgrade perfUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-modules-extraUpgrade kernel-toolsUpgrade kernel-debug-modulesUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-64k-debugUpgrade kernel-rt-debug-coreUpgrade kernel-64k-modulesUpgrade kernel-rt-develUpgrade kernel-tools-libsUpgrade kernel-64kUpgrade kernel-64k-debug-modules-coreUpgrade kernel-rt-modules-coreUpgrade kernel-64k-debug-coreUpgrade kernel-64k-modules-extraUpgrade rvUpgrade kernel-zfcpdump-coreUpgrade kernel-64k-debug-modules-extraUpgrade kernel-debug-modules-extraUpgrade kernel-cross-headersUpgrade kernel-debug-coreUpgrade kernel-debugUpgrade kernel-uki-virtUpgrade python3-perfUpgrade kernel-coreUpgrade kernel-develUpgrade kernel-debug-develUpgrade kernel-64k-develUpgrade kernelUpgrade kernel-headersUpgrade kernel-64k-coreUpgrade rtlaUpgrade kernel-zfcpdump-develUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-coreUpgrade kernel-rt-debug-develUpgrade kernel-rt-debugUpgrade kernel-modules-extraUpgrade kernel-debug-modules-coreUpgrade kernel-debug-uki-virtUpgrade kernel-rt-debug-kvmUpgrade kernel-modules-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-devel-matchedUpgrade kernel-docUpgrade kernel-modulesUpgrade kernel-zfcpdumpUpgrade libperfUpgrade kernel-64k-modules-coreUpgrade kernel-64k-debug-devel | Aug 12, 2024 | May 1, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-livepatch-5.10.215-203.850Upgrade kernel-tools-debuginfoUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade kernel-develUpgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade perf-debuginfoUpgrade kernel-toolsUpgrade perfUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-headersUpgrade kernelUpgrade python-perfUpgrade python-perf-debuginfoUpgrade bpftool-debuginfoUpgrade 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 kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libs | Jul 16, 2024 | May 1, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernelUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-tools | Oct 8, 2024 | May 1, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade kernel-toolsUpgrade python3-perf | Jul 17, 2024 | May 1, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | May 1, 2024 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Aug 12, 2024 | May 1, 2024 |
| Rocky_linux | — | Upgrade kernel-debug-debuginfoUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-modules-coreUpgrade bpftool-debuginfoUpgrade perfUpgrade kernel-debug-coreUpgrade kernel-zfcpdump-modulesUpgrade python3-perfUpgrade kernel-uki-virtUpgrade kernel-rt-coreUpgrade perf-debuginfoUpgrade kernel-debug-devel-matchedUpgrade kernel-debug-develUpgrade libperfUpgrade kernel-rt-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-headersUpgrade kernel-coreUpgrade kernel-tools-debuginfoUpgrade kernel-rt-debug-develUpgrade kernel-modules-extraUpgrade kernel-debuginfoUpgrade kernel-rt-debuginfoUpgrade kernel-debugUpgrade kernel-devel-matchedUpgrade kernel-rt-debug-modules-extraUpgrade kernel-zfcpdump-modules-coreUpgrade rtlaUpgrade kernel-modulesUpgrade kernel-rt-debug-kvmUpgrade kernel-zfcpdumpUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debug-modules-coreUpgrade kernel-zfcpdump-coreUpgrade kernel-debug-uki-virtUpgrade kernel-rt-debug-coreUpgrade kernel-rt-debugUpgrade kernelUpgrade kernel-develUpgrade kernel-debug-modules-extraUpgrade kernel-debug-modules-coreUpgrade kernel-tools-libs-develUpgrade kernel-rt-develUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-cross-headersUpgrade kernel-rt-modules-coreUpgrade rvUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-zfcpdump-debuginfoUpgrade python3-perf-debuginfoUpgrade libperf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-rt-debug-debuginfoUpgrade kernel-debug-modulesUpgrade kernel-rtUpgrade kernel-rt-modules-extraUpgrade kernel-tools-libsUpgrade kernel-rt-kvm | Aug 22, 2024 | May 1, 2024 |
| Suse | — | Upgrade kernel-default-optionalUpgrade dtb-amazonUpgrade gfs2-kmp-64kbUpgrade kernel-develUpgrade cluster-md-kmp-azureUpgrade dtb-renesasUpgrade reiserfs-kmp-azureUpgrade kernel-rt-develUpgrade kernel-obs-qaUpgrade kernel-rt-livepatchUpgrade dtb-allwinnerUpgrade dtb-caviumUpgrade kernel-64kb-develUpgrade kselftests-kmp-rtUpgrade kernel-64kb-extraUpgrade kernel-default-vdsoUpgrade kernel-kvmsmall-develUpgrade kernel-devel-rtUpgrade kernel-64kbUpgrade kernel-default-develUpgrade kernel-symsUpgrade gfs2-kmp-defaultUpgrade kernel-default-baseUpgrade ocfs2-kmp-defaultUpgrade kernel-kvmsmall-livepatch-develUpgrade cluster-md-kmp-rtUpgrade kselftests-kmp-64kbUpgrade kernel-debug-develUpgrade ocfs2-kmp-azureUpgrade gfs2-kmp-azureUpgrade dtb-mediatekUpgrade dtb-amdUpgrade kernel-64kb-optionalUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-source-azureUpgrade dtb-armUpgrade dtb-xilinxUpgrade kselftests-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade kernel-zfcpdumpUpgrade dtb-hisiliconUpgrade kernel-debugUpgrade dtb-apmUpgrade kernel-default-livepatch-develUpgrade dtb-alteraUpgrade kernel-64kb-livepatch-develUpgrade dlm-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kernel-obs-buildUpgrade cluster-md-kmp-64kbUpgrade kernel-sourceUpgrade kernel-docsUpgrade kernel-rt_debugUpgrade gfs2-kmp-rtUpgrade dtb-exynosUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade kernel-macrosUpgrade kernel-azure-optionalUpgrade kernel-defaultUpgrade dlm-kmp-rtUpgrade dtb-socionextUpgrade kernel-kvmsmallUpgrade kernel-rt_debug-vdsoUpgrade kernel-debug-vdsoUpgrade cluster-md-kmp-defaultUpgrade kernel-rt-vdsoUpgrade kernel-azureUpgrade dtb-lgUpgrade kernel-rt-livepatch-develUpgrade kernel-azure-extraUpgrade kernel-default-livepatchUpgrade dtb-rockchipUpgrade dtb-nvidiaUpgrade kernel-source-rtUpgrade ocfs2-kmp-64kbUpgrade kernel-default-extraUpgrade kernel-rt-extraUpgrade kselftests-kmp-azureUpgrade dtb-broadcomUpgrade kernel-default-base-rebuildUpgrade kernel-kvmsmall-vdsoUpgrade reiserfs-kmp-rtUpgrade kernel-azure-livepatch-develUpgrade reiserfs-kmp-64kbUpgrade kernel-syms-azureUpgrade kernel-rtUpgrade kernel-docs-htmlUpgrade kernel-debug-livepatch-develUpgrade dtb-freescaleUpgrade dtb-appleUpgrade dlm-kmp-defaultUpgrade dlm-kmp-azureUpgrade dtb-amlogicUpgrade dtb-marvellUpgrade kernel-syms-rtUpgrade kernel-source-vanillaUpgrade kernel-azure-vdsoUpgrade kernel-azure-develUpgrade kernel-devel-azureUpgrade dtb-sprdUpgrade dtb-qcom | Jun 24, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-5.15.0-116-lowlatency-64kUpgrade linux-image-azure-fdeUpgrade linux-image-generic-lpaeUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-1006-oracle-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1064-gcpUpgrade linux-image-6.8.0-1008-gcpUpgrade linux-image-5.15.0-1062-kvmUpgrade linux-image-5.15.0-1065-awsUpgrade linux-image-5.15.0-1063-oracleUpgrade linux-image-6.8.0-1006-oracleUpgrade linux-image-6.8.0-1008-azureUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-azureUpgrade linux-image-5.15.0-1062-gkeUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1048-gkeopUpgrade linux-image-oem-20.04bUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-raspiUpgrade linux-image-ibmUpgrade linux-image-awsUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-nvidiaUpgrade linux-image-lowlatencyUpgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-64kUpgrade linux-image-5.15.0-116-lowlatencyUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-1005-raspiUpgrade linux-image-6.8.0-1006-ibmUpgrade linux-image-6.8.0-35-generic-64kUpgrade linux-image-5.15.0-116-generic-lpaeUpgrade linux-image-kvmUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-ibm-classicUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.8.0-1008-azure-fdeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.15.0-1068-azure-fdeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-35-lowlatency-64kUpgrade linux-image-5.15.0-1060-intel-iotgUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-20.04Upgrade linux-image-intelUpgrade linux-image-gcpUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-5.15.0-1060-nvidiaUpgrade linux-image-gkeUpgrade linux-image-6.8.0-35-lowlatencyUpgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-oem-24.04aUpgrade linux-image-azure-cvmUpgrade linux-image-intel-iotgUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-oracle-64kUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-1065-gcpUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-6.8.0-1006-oemUpgrade linux-image-oracleUpgrade linux-image-5.15.0-1060-nvidia-lowlatencyUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-116-generic-64kUpgrade linux-image-6.8.0-1009-awsUpgrade linux-image-5.15.0-116-genericUpgrade linux-image-genericUpgrade linux-image-gkeopUpgrade linux-image-lowlatency-64kUpgrade linux-image-virtualUpgrade linux-image-5.15.0-1058-ibmUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-6.8.0-35-genericUpgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-1068-azureUpgrade linux-image-6.8.0-1004-gke | 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 |
Prioritise with Active Threat Intelligence
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