Linux Kernel RMNet UAF via rmnet_dellink RCU mishandling
CVE-2026-64188 Published on July 20, 2026
net: qualcomm: rmnet: fix endpoint use-after-free in rmnet_dellink()
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.
Products Associated with CVE-2026-64188
Want to know whenever a new CVE is published for Linux Kernel? stack.watch will email you.
Affected Versions
Linux:- Version ceed73a2cf4aff2921802aa3d21d45280677547d and below c4e676c3505c5058922dc1a6f1ded795f6758135 is affected.
- Version ceed73a2cf4aff2921802aa3d21d45280677547d and below 9918698cf3aee4032e12bb42fd5a951dc465339b is affected.
- Version ceed73a2cf4aff2921802aa3d21d45280677547d and below 310b93246bfec7d4452507e0c15477377ed9f025 is affected.
- Version ceed73a2cf4aff2921802aa3d21d45280677547d and below 1078ae8175777e80c9637996fb4a46c55f0ce576 is affected.
- Version ceed73a2cf4aff2921802aa3d21d45280677547d and below 41e06fcc5df0774d212e70c5b503fc769492bce3 is affected.
- Version ceed73a2cf4aff2921802aa3d21d45280677547d and below 8b17adf6d4fb6bf61fa4c3f58366a7c082799a71 is affected.
- Version ceed73a2cf4aff2921802aa3d21d45280677547d and below f193e38cb257d033060b63f1cfd94af076b3a2ab is affected.
- Version ceed73a2cf4aff2921802aa3d21d45280677547d and below d00c953a8f69921f484b629801766da68f27f658 is affected.
- Version 4.14 is affected.
- Before 4.14 is unaffected.
- Version 5.10.260, <= 5.10.* is unaffected.
- Version 5.15.211, <= 5.15.* is unaffected.
- Version 6.1.177, <= 6.1.* is unaffected.
- Version 6.6.144, <= 6.6.* is unaffected.
- Version 6.12.95, <= 6.12.* is unaffected.
- Version 6.18.37, <= 6.18.* is unaffected.
- Version 7.0.14, <= 7.0.* is unaffected.
- Version 7.1, <= * is unaffected.