CVE-2026-64188

net: qualcomm: rmnet: fix endpoint use-after-free in rmnet_dellink()

CVE-2026-64188 is fixed in 16 products on 1 platform, first by DEBIAN-CVE-2026-64188, released July 21, 2026. It is not reported as exploited. Patch Radar priority: High.

High
CVSS
7.8
Moderate
Exploitation
None reported
No vendor assessment
CISA KEV
Not listed
Not in the Known Exploited Vulnerabilities catalog
EPSS
0.0012
1st percentile

In the Linux kernel, the following vulnerability has been resolved: net: qualcomm: rmnet: fix endpoint use-after-free in rmnet_dellink() rmnet_dellink() removes the endpoint from the hash table with hlist_del_init_rcu() and then immediately frees it with kfree(). However, RCU readers on the receive path (rmnet_rx_handler -> __rmnet_map_ingress_handler) may still hold a reference to the endpoint and dereference ep->egress_dev after the memory has been freed. The endpoint is a kmalloc-32 object, and the stale read at offset 8 corresponds to the egress_dev pointer. BUG: unable to handle page fault for address: ffffffffde942eef Oops: 0002 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 137 Comm: poc_write Not tainted 7.0.0+ #4 PREEMPTLAZY RIP: 0010:rmnet_vnd_rx_fixup (rmnet_vnd.c:27) Call Trace: <TASK> __rmnet_map_ingress_handler (rmnet_handlers.c:48 rmnet_handlers.c:101) rmnet_rx_handler (rmnet_handlers.c:129 rmnet_handlers.c:235) __netif_receive_skb_core.constprop.0 (net/core/dev.c:6096) __netif_receive_skb_one_core (net/core/dev.c:6208) netif_receive_skb (net/core/dev.c:6467) tun_get_user (drivers/net/tun.c:1955) tun_chr_write_iter (drivers/net/tun.c:2003) vfs_write (fs/read_write.c:688) ksys_write (fs/read_write.c:740) </TASK> Add an rcu_head field to struct rmnet_endpoint and replace kfree() with kfree_rcu() so the endpoint memory remains valid through the RCU grace period. Also remove the rmnet_vnd_dellink() call and inline only the nr_rmnet_devs decrement, since rmnet_vnd_dellink() would set ep->egress_dev to NULL during the grace period, creating a data race with lockless readers.

Where it's fixed

ProductFixed inFixReleased
Linux
dtb-aarch64 · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-64kb · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-64kb · sles 15.7 6.4.0-150700.53.81.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-64kb · sles 16.0 6.12.0-160000.37.1 SUSE-SU-2026:23231-1 Aug 11, 2026
kernel-azure · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-azure · sles 15.7 6.4.0-150700.53.81.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-azure · sles 16.0 6.12.0-160000.37.1 SUSE-SU-2026:23231-1 Aug 11, 2026
kernel-default · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-default · sles 15.7 6.4.0-150700.53.81.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-default · sles 16.0 6.12.0-160000.37.1 SUSE-SU-2026:23237-1 Aug 11, 2026
kernel-default-base · opensuse-leap 16.0 6.12.0-160000.37.1.160000.2.19 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-default-base · sles 15.7 6.4.0-150700.53.81.1.150700.17.45.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-default-base · sles 16.0 6.12.0-160000.37.1.160000.2.19 SUSE-SU-2026:23231-1 Aug 11, 2026
kernel-docs · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-docs · sles 15.7 6.4.0-150700.53.81.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-docs · sles 16.0 6.12.0-160000.37.1 SUSE-SU-2026:23231-1 Aug 11, 2026
kernel-kvmsmall · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-kvmsmall · sles 16.0 6.12.0-160000.37.1 SUSE-SU-2026:23231-1 Aug 11, 2026
kernel-livepatch-SLE15-SP7-RT_Update_20 · sles 15.7 1-150700.1.3.1 SUSE-SU-2026:4120-1 Sep 10, 2026
kernel-livepatch-SLE15-SP7_Update_21 · sles 15.7 1-150700.15.3.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-obs-build · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-obs-build · sles 15.7 6.4.0-150700.53.81.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-obs-qa · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-obs-qa · sles 16.0 6.12.0-160000.37.1 SUSE-SU-2026:23231-1 Aug 11, 2026
kernel-rt · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-source · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-source · sles 15.7 6.4.0-150700.53.81.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-source · sles 16.0 6.12.0-160000.37.1 SUSE-SU-2026:23231-1 Aug 11, 2026
kernel-syms · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-syms · sles 15.7 6.4.0-150700.53.81.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-syms · sles 16.0 6.12.0-160000.37.1 SUSE-SU-2026:23231-1 Aug 11, 2026
kernel-zfcpdump · opensuse-leap 16.0 6.12.0-160000.37.1 OPENSUSE-SU-2026:21555-1 Aug 12, 2026
kernel-zfcpdump · sles 15.7 6.4.0-150700.53.81.1 SUSE-SU-2026:4254-1 Oct 7, 2026
kernel-zfcpdump · sles 16.0 6.12.0-160000.37.1 SUSE-SU-2026:23231-1 Aug 11, 2026
linux · Debian 12.15 (bookworm) 6.1.177-1 DEBIAN-CVE-2026-64188 Jul 21, 2026
linux · Debian 13.5 (trixie) 6.12.95-1 DEBIAN-CVE-2026-64188 Jul 21, 2026
linux · Debian 14 7.0.14-1 DEBIAN-CVE-2026-64188 Jul 21, 2026

Patch Radar data is free to use with attribution. Terms and how to credit it.

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.