CVE-2026-23458
Published: 03 April 2026
Summary
CVE-2026-23458 is a high-severity Use After Free (CWE-416) vulnerability in Linux Linux Kernel. Its CVSS base score is 7.8 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 6.3th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 RA-5 (Vulnerability Monitoring and Scanning) and SI-2 (Flaw Remediation).
Deeper analysis
CVE-2026-23458 is a use-after-free vulnerability in the Linux kernel's netfilter ctnetlink subsystem, specifically within the ctnetlink_dump_exp_ct() function. The issue arises when the function stores a conntrack pointer in the netlink dump callback's data but prematurely drops the conntrack reference after netlink_dump_start(). In multi-round dumps, subsequent recvmsg() calls trigger the callback, which dereferences the freed conntrack via nfct_help(ct), accessing ct->ext and causing the use-after-free. This affects Linux kernels vulnerable to the bug, as demonstrated by a KASAN slab-use-after-free report during execution of a ctnetlink_poc task.
A local attacker with low privileges can exploit this vulnerability due to its CVSS vector of AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, scoring 7.8. Exploitation involves sending netlink messages via ctnetlink_new_conntrack and ctnetlink_create_conntrack to allocate a conntrack, followed by dump operations that span multiple rounds, triggering the use-after-free in ctnetlink_exp_ct_dump_table() during netlink_recvmsg(). Successful exploitation could result in high confidentiality, integrity, and availability impacts, such as kernel memory corruption, information disclosure, or arbitrary code execution.
Mitigation requires applying upstream kernel patches from the provided stable branch commits, including 04c8907ce4e3d3e26c5e1a3e47aa5d17082cbb56, 5cb81eeda909dbb2def209dd10636b51549a3f8a, 9821b47f669eb82791fa0b1a6ebaf9aa219bea72, bdf2724eefd4455a66863abb025bab8d3aa98c57, and cd541f15b60e2257441398cf495d978f816d09d8. These fixes add .start and .done callbacks to the netlink_dump_control structure to properly manage the conntrack reference across dump rounds and adjust the nfct_help() call to avoid unnecessary dereferences.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-18716
Vulnerability details
In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: fix use-after-free in ctnetlink_dump_exp_ct() ctnetlink_dump_exp_ct() stores a conntrack pointer in cb->data for the netlink dump callback ctnetlink_exp_ct_dump_table(), but drops the conntrack reference immediately after netlink_dump_start(). When the dump…
more
spans multiple rounds, the second recvmsg() triggers the dump callback which dereferences the now-freed conntrack via nfct_help(ct), leading to a use-after-free on ct->ext. The bug is that the netlink_dump_control has no .start or .done callbacks to manage the conntrack reference across dump rounds. Other dump functions in the same file (e.g. ctnetlink_get_conntrack) properly use .start/.done callbacks for this purpose. Fix this by adding .start and .done callbacks that hold and release the conntrack reference for the duration of the dump, and move the nfct_help() call after the cb->args[0] early-return check in the dump callback to avoid dereferencing ct->ext unnecessarily. BUG: KASAN: slab-use-after-free in ctnetlink_exp_ct_dump_table+0x4f/0x2e0 Read of size 8 at addr ffff88810597ebf0 by task ctnetlink_poc/133 CPU: 1 UID: 0 PID: 133 Comm: ctnetlink_poc Not tainted 7.0.0-rc2+ #3 PREEMPTLAZY Call Trace: <TASK> ctnetlink_exp_ct_dump_table+0x4f/0x2e0 netlink_dump+0x333/0x880 netlink_recvmsg+0x3e2/0x4b0 ? aa_sk_perm+0x184/0x450 sock_recvmsg+0xde/0xf0 Allocated by task 133: kmem_cache_alloc_noprof+0x134/0x440 __nf_conntrack_alloc+0xa8/0x2b0 ctnetlink_create_conntrack+0xa1/0x900 ctnetlink_new_conntrack+0x3cf/0x7d0 nfnetlink_rcv_msg+0x48e/0x510 netlink_rcv_skb+0xc9/0x1f0 nfnetlink_rcv+0xdb/0x220 netlink_unicast+0x3ec/0x590 netlink_sendmsg+0x397/0x690 __sys_sendmsg+0xf4/0x180 Freed by task 0: slab_free_after_rcu_debug+0xad/0x1e0 rcu_core+0x5c3/0x9c0
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Local kernel UAF in ctnetlink enables privilege escalation via arbitrary code execution or memory corruption from low-privileged context.
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Flaw remediation requires identifying, prioritizing, and applying patches to correct the use-after-free in ctnetlink_dump_exp_ct caused by improper conntrack reference handling across netlink dump rounds.
Vulnerability monitoring and scanning detects the presence of CVE-2026-23458 in Linux kernels by version checking, enabling timely remediation before local exploitation via netlink messages.
Memory protection mechanisms like ASLR and non-executable memory mitigate successful exploitation of the use-after-free in nfct_help(ct) by complicating kernel memory corruption.