cbcvebase.
CVE-2026-23150
published 2026-02-14

CVE-2026-23150: In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: Fix memleak in nfc_llcp_send_ui_frame(). syzbot reported various memory leaks…

PriorityP420medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.11%
1.8th percentile
In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: Fix memleak in nfc_llcp_send_ui_frame(). syzbot reported various memory leaks related to NFC, struct nfc_llcp_sock, sk_buff, nfc_dev, etc. [0] The leading log hinted that nfc_llcp_send_ui_frame() failed to allocate skb due to sock_error(sk) being -ENXIO. ENXIO is set by nfc_llcp_socket_release() when struct nfc_llcp_local is destroyed by local_cleanup(). The problem is that there is no synchronisation between nfc_llcp_send_ui_frame() and local_cleanup(), and skb could be put into local->tx_queue after it was purged in local_cleanup(): CPU1 CPU2 ---- ---- nfc_llcp_send_ui_frame() local_cleanup() |- do { ' |- pdu = nfc_alloc_send_skb(..., &err) | . | |- nfc_llcp_socket_release(local, false, ENXIO); | |- skb_queue_purge(&local->tx_queue); | | ' | |- skb_queue_tail(&local->tx_queue, pdu); | ... | |- pdu = nfc_alloc_send_skb(..., &err) | ^._________________________________.' local_cleanup() is called for struct nfc_llcp_local only after nfc_llcp_remove_local() unlinks it from llcp_devices. If we hold local->tx_queue.lock then, we can synchronise the thread and nfc_llcp_send_ui_frame(). Let's do that and check list_empty(&local->list) before queuing skb to local->tx_queue in nfc_llcp_send_ui_frame(). [0]: [ 56.074943][ T6096] llcp: nfc_llcp_send_ui_frame: Could not allocate PDU (error=-6) [ 64.318868][ T5813] kmemleak: 6 new suspected memory leaks (see /sys/kernel/debug/kmemleak) BUG: memory leak unreferenced object 0xffff8881272f6800 (size 1024): comm "syz.0.17", pid 6096, jiffies 4294942766 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 27 00 03 40 00 00 00 00 00 00 00 00 00 00 00 00 '..@............ backtrace (crc da58d84d): kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline] slab_post_alloc_hook mm/slub.c:4979 [inline] slab_alloc_node mm/slub.c:5284 [inline] __do_kmalloc_node mm/slub.c:5645 [inline] __kmalloc_noprof+0x3e3/0x6b

Affected

58 ranges· showing 25
VendorProductVersion rangeFixed in
debianlinux< linux 6.1.162-1 (bookworm)linux 6.1.162-1 (bookworm)
linuxlinux
linuxlinux>= 94f418a206648c9be6fd84d6681d6956b8f8b106 < ab660cb8e17aa93426d1e821c2cce60e4b9bc56aab660cb8e17aa93426d1e821c2cce60e4b9bc56a
linuxlinux>= 94f418a206648c9be6fd84d6681d6956b8f8b106 < 65e976e1f474ae3bf5681d7abafb8f3fdb34b8cc65e976e1f474ae3bf5681d7abafb8f3fdb34b8cc
linuxlinux>= 94f418a206648c9be6fd84d6681d6956b8f8b106 < 6734ff1ac6beba1d0c22dc9a3dc1849b773b511f6734ff1ac6beba1d0c22dc9a3dc1849b773b511f
linuxlinux>= 94f418a206648c9be6fd84d6681d6956b8f8b106 < f8d002626d434f5fea9085e2557711c16a15cec6f8d002626d434f5fea9085e2557711c16a15cec6
linuxlinux>= 94f418a206648c9be6fd84d6681d6956b8f8b106 < 3098e5c8af0f4c8f7eebbb370798df8aa2e12ba53098e5c8af0f4c8f7eebbb370798df8aa2e12ba5
linuxlinux>= 94f418a206648c9be6fd84d6681d6956b8f8b106 < 61858cbce6ca4bef9ed116c689a4be952084133961858cbce6ca4bef9ed116c689a4be9520841339
linuxlinux>= 94f418a206648c9be6fd84d6681d6956b8f8b106 < 165c34fb6068ff153e3fc99a932a80a9d5755709165c34fb6068ff153e3fc99a932a80a9d5755709
linuxlinux_kernel
linuxlinux_kernel>= 0 < 5.10.249-15.10.249-1
linuxlinux_kernel>= 0 < 6.1.162-16.1.162-1
linuxlinux_kernel>= 0 < 6.12.69-16.12.69-1
linuxlinux_kernel>= 0 < 6.18.9-16.18.9-1
linuxlinux_kernel>= 3.8 < 5.10.2495.10.249
linuxlinux_kernel>= 5.11 < 5.15.1995.15.199
linuxlinux_kernel>= 5.16 < 6.1.1626.1.162
linuxlinux_kernel>= 6.13 < 6.18.96.18.9
linuxlinux_kernel>= 6.2 < 6.6.1236.6.123
linuxlinux_kernel>= 6.7 < 6.12.696.12.69
ubuntulinux
ubuntulinux-aws
ubuntulinux-aws-fips
ubuntulinux-azure
ubuntulinux-azure-5.15

CVSS provenance

nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_ubuntu7.8HIGH
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.