In the Linux kernel, the following vulnerability has been resolved:
ipvlan: Fix use-after-free in ipvlan_get_iflink().
syzbot presented an use-after-free report [0] regarding ipvlan and linkwatch.
ipvlan does not hold a refcnt of the lower device unlike vlan and macvlan.
If the linkwatch work is triggered for the ipvlan dev, the lower dev might have already been freed, resulting in UAF of ipvlan->phy_dev in ipvlan_get_iflink().
We can delay the lower dev unregistration like vlan and macvlan by holding the lower dev's refcnt in dev->netdev_ops->ndo_init() and releasing it in dev->priv_destructor().
Jakub pointed out calling .ndo_XXX after unregister_netdevice() has returned is error prone and suggested [1] addressing this UAF in the core by taking commit 750e51603395 ("net: avoid potential UAF in default_operstate()") further.
Let's assume unregistering devices DOWN and use RCU protection in default_operstate() not to race with the device unregistration.
[0]: BUG: KASAN: slab-use-after-free in ipvlan_get_iflink+0x84/0x88 drivers/net/ipvlan/ipvlan_main.c:353 Read of size 4 at addr ffff0000d768c0e0 by task kworker/u8:35/6944
CPU: 0 UID: 0 PID: 6944 Comm: kworker/u8:35 Not tainted 6.13.0-rc2-g9bc5c9515b48 #12 4c3cb9e8b4565456f6a355f312ff91f4f29b3c47 Hardware name: linux,dummy-virt (DT) Workqueue: events_unbound linkwatch_event Call trace: show_stack+0x38/0x50 arch/arm64/kernel/stacktrace.c:484 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xbc/0x108 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x16c/0x6f0 mm/kasan/report.c:489 kasan_report+0xc0/0x120 mm/kasan/report.c:602 __asan_report_load4_noabort+0x20/0x30 mm/kasan/report_generic.c:380 ipvlan_get_iflink+0x84/0x88 drivers/net/ipvlan/ipvlan_main.c:353 dev_get_iflink+0x7c/0xd8 net/core/dev.c:674 default_operstate net/core/link_watch.c:45 [inline] rfc2863_policy+0x144/0x360 net/core/link_watch.c:72 linkwatch_do_dev+0x60/0x228 net/core/link_watch.c:175 __linkwatch_run_queue+0x2f4/0x5b8 net/core/link_watch.c:239 linkwatch_event+0x64/0xa8 net/core/link_watch.c:282 process_one_work+0x700/0x1398 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x8c4/0xe10 kernel/workqueue.c:3391 kthread+0x2b0/0x360 kernel/kthread.c:389 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862
Allocated by task 9303: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x30/0x68 mm/kasan/common.c:68 kasan_save_alloc_info+0x44/0x58 mm/kasan/generic.c:568 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x84/0xa0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __do_kmalloc_node mm/slub.c:4283 [inline] __kmalloc_node_noprof+0x2a0/0x560 mm/slub.c:4289 __kvmalloc_node_noprof+0x9c/0x230 mm/util.c:650 alloc_netdev_mqs+0xb4/0x1118 net/core/dev.c:11209 rtnl_create_link+0x2b8/0xb60 net/core/rtnetlink.c:3595 rtnl_newlink_create+0x19c/0x868 net/core/rtnetlink.c:3771 __rtnl_newlink net/core/rtnetlink.c:3896 [inline] rtnl_newlink+0x122c/0x15c0 net/core/rtnetlink.c:4011 rtnetlink_rcv_msg+0x61c/0x918 net/core/rtnetlink.c:6901 netlink_rcv_skb+0x1dc/0x398 net/netlink/af_netlink.c:2542 rtnetlink_rcv+0x34/0x50 net/core/rtnetlink.c:6928 netlink_unicast_kernel net/netlink/af_netlink.c:1321 [inline] netlink_unicast+0x618/0x838 net/netlink/af_netlink.c:1347 netlink_sendmsg+0x5fc/0x8b0 net/netlink/af_netlink.c:1891 sock_sendmsg_nosec net/socket.c:711 [inline] __sock_sendmsg net/socket.c:726 [inline] __sys_sendto+0x2ec/0x438 net/socket.c:2197 __do_sys_sendto net/socket.c:2204 [inline] __se_sys_sendto net/socket.c:2200 [inline] __arm64_sys_sendto+0xe4/0x110 net/socket.c:2200 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x90/0x278 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x13c/0x250 arch/arm64/kernel/syscall.c:132 do_el0_svc+0x54/0x70 arch/arm64/kernel/syscall.c:151 el ---truncated---
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Oracle_linux | — | Upgrade kernel | Dec 3, 2025 | Jan 19, 2025 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Jul 9, 2025 | Jan 19, 2025 |
| Rocky_linux | — | Upgrade kernel-debug-modulesUpgrade kernel-debug-modules-coreUpgrade kernel-rt-debug-coreUpgrade kernel-rt-develUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-coreUpgrade python3-perf-debuginfoUpgrade kernel-modules-extra-matchedUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-libsUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-coreUpgrade libperf-debuginfoUpgrade kernel-rt-modules-extraUpgrade kernelUpgrade python3-perfUpgrade kernel-rt-debugUpgrade kernel-rt-debug-debuginfoUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-debug-modules-coreUpgrade kernel-devel-matchedUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-modules-coreUpgrade kernel-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-rt-debuginfoUpgrade kernel-rt-debug-modulesUpgrade kernel-rtUpgrade kernel-modules-extraUpgrade kernel-debug-debuginfoUpgrade rvUpgrade kernel-zfcpdump-modulesUpgrade kernel-toolsUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade perf-debuginfoUpgrade kernel-modulesUpgrade kernel-debug-modules-extraUpgrade kernel-debug-devel-matchedUpgrade libperfUpgrade kernel-debug-develUpgrade rtlaUpgrade kernel-rt-debug-modules-extraUpgrade kernel-uki-virt-addonsUpgrade kernel-uki-virtUpgrade kernel-zfcpdump-develUpgrade kernel-coreUpgrade perfUpgrade kernel-zfcpdumpUpgrade kernel-rt-debug-develUpgrade kernel-modules-coreUpgrade kernel-debug-uki-virtUpgrade kernel-debuginfo-common-s390xUpgrade kernel-debug-coreUpgrade kernel-debug | Feb 5, 2026 | Nov 27, 2025 |
| Suse | — | Upgrade kernel-sourceUpgrade dtb-caviumUpgrade cluster-md-kmp-rtUpgrade kernel-debug-vdsoUpgrade ocfs2-kmp-rtUpgrade kernel-rt-develUpgrade kernel-rt-vdsoUpgrade dtb-armUpgrade kselftests-kmp-64kbUpgrade kernel-rt-extraUpgrade dtb-amlogicUpgrade dtb-qcomUpgrade dtb-alteraUpgrade dtb-xilinxUpgrade kernel-syms-azureUpgrade kernel-zfcpdumpUpgrade kernel-default-base-rebuildUpgrade kernel-default-vdsoUpgrade kernel-kvmsmall-develUpgrade kernel-azure-optionalUpgrade kernel-rt_debug-develUpgrade gfs2-kmp-rtUpgrade gfs2-kmp-azureUpgrade kernel-default-optionalUpgrade kernel-default-extraUpgrade dtb-lgUpgrade dtb-mediatekUpgrade dtb-exynosUpgrade kernel-develUpgrade dtb-apmUpgrade kernel-obs-buildUpgrade ocfs2-kmp-defaultUpgrade kernel-devel-azureUpgrade kernel-azure-develUpgrade kernel-rtUpgrade kernel-obs-qaUpgrade kernel-devel-rtUpgrade kernel-macrosUpgrade kernel-kvmsmallUpgrade kernel-source-azureUpgrade reiserfs-kmp-azureUpgrade cluster-md-kmp-azureUpgrade dlm-kmp-64kbUpgrade dtb-rockchipUpgrade kernel-docsUpgrade reiserfs-kmp-defaultUpgrade kernel-rt_debugUpgrade kernel-symsUpgrade kernel-source-rtUpgrade ocfs2-kmp-azureUpgrade ocfs2-kmp-64kbUpgrade kernel-debugUpgrade kernel-rt-optionalUpgrade kernel-docs-htmlUpgrade dtb-sprdUpgrade dlm-kmp-defaultUpgrade gfs2-kmp-defaultUpgrade gfs2-kmp-64kbUpgrade dtb-socionextUpgrade reiserfs-kmp-rtUpgrade kselftests-kmp-rtUpgrade kernel-azure-extraUpgrade dtb-renesasUpgrade kernel-default-livepatchUpgrade kernel-rt-livepatch-develUpgrade kernel-64kbUpgrade dtb-broadcomUpgrade dtb-appleUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-syms-rtUpgrade dtb-amazonUpgrade kernel-azureUpgrade dtb-amdUpgrade dlm-kmp-azureUpgrade kernel-source-vanillaUpgrade kselftests-kmp-defaultUpgrade kernel-defaultUpgrade kernel-debug-develUpgrade dtb-allwinnerUpgrade cluster-md-kmp-64kbUpgrade kernel-rt_debug-vdsoUpgrade kernel-default-livepatch-develUpgrade kernel-64kb-develUpgrade kernel-kvmsmall-vdsoUpgrade dtb-hisiliconUpgrade kselftests-kmp-azureUpgrade dtb-nvidiaUpgrade kernel-default-baseUpgrade cluster-md-kmp-defaultUpgrade kernel-64kb-optionalUpgrade kernel-azure-vdsoUpgrade dtb-freescaleUpgrade kernel-64kb-extraUpgrade kernel-default-develUpgrade dtb-marvell | Feb 12, 2025 | Jan 19, 2025 |
| Ubuntu | — | Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-60-genericUpgrade linux-image-awsUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-kvmUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-6.8.0-1028-oemUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-realtimeUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-azure-fdeUpgrade linux-image-virtualUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.11.0-1012-azureUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.11.0-1011-awsUpgrade linux-image-nvidia-6.8Upgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-oem-24.04bUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.11.0-1017-oemUpgrade linux-image-6.8.0-1029-awsUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-azure-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-gkeUpgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-oem-24.04Upgrade linux-image-ibmUpgrade linux-image-oem-22.04aUpgrade linux-image-oem-22.04bUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oem-24.04aUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-6.8.0-1029-azureUpgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-gcp-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-raspi-realtimeUpgrade linux-image-oracle-64kUpgrade linux-image-azure-nvidiaUpgrade linux-image-oem-22.04dUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-6.8.0-1012-gkeopUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1028-nvidia-lowlatency-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-22.04cUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-lowlatencyUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-gcpUpgrade linux-image-gkeopUpgrade linux-image-azureUpgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-raspiUpgrade linux-image-nvidiaUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-genericUpgrade linux-image-6.11.0-21-generic-64k | Mar 28, 2025 | Jan 19, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub