CVE-2024-26961: mac802154: fix llsec key resources release in mac802154_llsec_key_del
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).
Security readout for executives and security teams
Plain-English summary
A Linux kernel flaw in IEEE 802.15.4 security-key handling can free key data while another task still uses it. The resulting use-after-free may corrupt memory or crash the system. Exploitation requires local privileges and a difficult timing condition, so exposure is concentrated in systems actively using mac802154 link-layer security.
Executive priority
Treat as a high-priority maintenance issue for gateways, embedded devices, or industrial systems using IEEE 802.15.4 security. Accelerate patching where untrusted or broadly accessible local users can manage wireless keys. For systems without mac802154 usage, confirm non-exposure and address through the normal kernel-update cycle.
Technical view
mac802154_llsec_key_del() released key resources without waiting for an RCU grace period, racing with llsec_lookup_key(). The flaw can trigger a refcount-on-zero use-after-free. Key-entry structures were also leaked. The upstream correction moves appropriate resource release into mac802154_llsec_key_del_rcu(), after concurrent readers have completed.
Likely exposure
Potentially exposed assets are affected Linux kernels using the mac802154 subsystem for IEEE 802.15.4 link-layer security, particularly where a locally privileged process can delete keys concurrently with traffic encryption. Systems not using this subsystem are less likely to expose the vulnerable path. Distribution backports may alter version-based conclusions.
Exploitation context
The supplied CVSS 3.1 score is 7.0: local access, low privileges, high complexity, and no user interaction. The source bundle identifies no CISA KEV listing and provides no evidence of active exploitation or a public exploit. The demonstrated condition produced a kernel refcount warning and use-after-free during concurrent key lookup and deletion.
Researcher notes
The defect combines an RCU lifetime violation with incomplete key-entry cleanup. The reported race occurs when deletion overlaps llsec_lookup_key() traversal; the lookup takes a key reference and copies the key identifier. Delaying cleanup until the RCU callback permits existing readers to finish. The bundle does not establish reliable exploitability beyond the observed use-after-free or identify a CWE.
Mitigation direction
Install a vendor-supported kernel containing the linked mac802154 RCU resource-release fix.
Check distribution and device-vendor advisories because fixed code may be backported without changing the major kernel version.
Prioritize systems actively using IEEE 802.15.4 link-layer security and permitting local key-management access.
Where immediate updating is impossible, restrict local administrative access to IEEE 802.15.4 key management.
Validation and detection
Inventory kernel versions and identify vendor backports of the referenced stable-kernel commits.
Determine whether mac802154 and IEEE 802.15.4 link-layer security are configured or operational.
Review kernel logs for refcount-on-zero warnings involving llsec_lookup_key or mac802154_llsec_encrypt.
Confirm the installed vendor kernel package explicitly addresses CVE-2024-26961.
After updating, verify devices retain expected IEEE 802.15.4 connectivity and security-key operations.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-26961 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.