CVE-2026-89780

net: qualcomm: rmnet: restore skb->dev on deaggregated frames

State
Published
Severity
Not scored
Published
Sep 16, 2026
Updated
Oct 19, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

net: qualcomm: rmnet: restore skb->dev on deaggregated frames

rmnet_map_deaggregate() allocates each sub-frame with alloc_skb() and leaves skb->dev NULL. __rmnet_map_ingress_handler() assigns skb->dev = ep->egress_dev only on the data path, but a MAP command frame is dispatched to rmnet_map_command() before that, so rmnet_map_send_ack() runs netif_tx_lock(skb->dev) on a NULL device. An unprivileged user reaches this by unsharing a user+net namespace, creating an rmnet link over a tap device with INGRESS_DEAGGREGATION and INGRESS_MAP_COMMANDS, and writing an aggregated frame carrying a flow-control command to the tap fd.

Restore the assignment dropped by 378e25357ac7, so every skb leaving rmnet_map_deaggregate() has a valid device.

BUG: KASAN: null-ptr-deref in _raw_spin_lock (kernel/locking/spinlock.c:158) Write of size 4 at addr 00000000000004b4 by task exploit/144 Call Trace: _raw_spin_lock (kernel/locking/spinlock.c:158) netif_tx_lock (net/sched/sch_generic.c:497) rmnet_map_command (drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c:67) rmnet_rx_handler (drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c:125) __netif_receive_skb_core.constprop.0 (net/core/dev.c:6103) ... __netif_receive_skb_one_core (net/core/dev.c:6214) netif_receive_skb (net/core/dev.c:6474) tun_get_user (drivers/net/tun.c:1966) tun_chr_write_iter (drivers/net/tun.c:2012) vfs_write (fs/read_write.c:687) ksys_write (fs/read_write.c:739) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) Kernel panic - not syncing: Fatal exception in interrupt

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 378e25357ac78ad02fbc98bec9b4e3baaa916c5c to before 5aaa7409c1b4ca4c60d66e2afa99703bf4eb7dddAffected
  • 378e25357ac78ad02fbc98bec9b4e3baaa916c5c to before 9b78ab84ddf97c06a8567edb62b6c0fd582f9a62Affected
  • 378e25357ac78ad02fbc98bec9b4e3baaa916c5c to before 9d18c6c6cd1666b2cb7915cad052e22abf520997Affected
  • 378e25357ac78ad02fbc98bec9b4e3baaa916c5c to before 4bcef54e4a3355a62d9ad90729fe563435ec76c3Affected
  • 378e25357ac78ad02fbc98bec9b4e3baaa916c5c to before b14c22c31d9e30f38ea1693ac06d318f32258f5dAffected
  • 378e25357ac78ad02fbc98bec9b4e3baaa916c5c to before 7abe769e72c792e5f9eb273813eb3ecd8389854cAffected
  • 378e25357ac78ad02fbc98bec9b4e3baaa916c5c to before 200460a0793dc6af97d3b36d92ac245350ac26fcAffected
  • 378e25357ac78ad02fbc98bec9b4e3baaa916c5c to before a66734a1c5e36525ea07e9f4547fddc51e916de3Affected
LinuxLinux
  • 4.17Affected
  • before 4.17Not affected
  • 5.10.270 through 5.10.*Not affected
  • 5.15.221 through 5.15.*Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.110 through 6.12.*Not affected
  • 6.18.52 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.