In the Linux kernel, the following vulnerability has been resolved:
smc: Fix use-after-free in __pnet_find_base_ndev().
syzbot reported use-after-free of net_device in __pnet_find_base_ndev(), which was called during connect(). [0]
smc_pnet_find_ism_resource() fetches sk_dst_get(sk)->dev and passes down to pnet_find_base_ndev(), where RTNL is held. Then, UAF happened at __pnet_find_base_ndev() when the dev is first used.
This means dev had already been freed before acquiring RTNL in pnet_find_base_ndev().
While dev is going away, dst->dev could be swapped with blackhole_netdev, and the dev's refcnt by dst will be released.
We must hold dev's refcnt before calling smc_pnet_find_ism_resource().
Also, smc_pnet_find_roce_resource() has the same problem.
Let's use __sk_dst_get() and dst_dev_rcu() in the two functions.
[0]: BUG: KASAN: use-after-free in __pnet_find_base_ndev+0x1b1/0x1c0 net/smc/smc_pnet.c:926 Read of size 1 at addr ffff888036bac33a by task syz.0.3632/18609
CPU: 1 UID: 0 PID: 18609 Comm: syz.0.3632 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025 Call Trace: <TASK> dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xca/0x240 mm/kasan/report.c:482 kasan_report+0x118/0x150 mm/kasan/report.c:595 __pnet_find_base_ndev+0x1b1/0x1c0 net/smc/smc_pnet.c:926 pnet_find_base_ndev net/smc/smc_pnet.c:946 [inline] smc_pnet_find_ism_by_pnetid net/smc/smc_pnet.c:1103 [inline] smc_pnet_find_ism_resource+0xef/0x390 net/smc/smc_pnet.c:1154 smc_find_ism_device net/smc/af_smc.c:1030 [inline] smc_find_proposal_devices net/smc/af_smc.c:1115 [inline] __smc_connect+0x372/0x1890 net/smc/af_smc.c:1545 smc_connect+0x877/0xd90 net/smc/af_smc.c:1715 __sys_connect_file net/socket.c:2086 [inline] __sys_connect+0x313/0x440 net/socket.c:2105 __do_sys_connect net/socket.c:2111 [inline] __se_sys_connect net/socket.c:2108 [inline] __x64_sys_connect+0x7a/0x90 net/socket.c:2108 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f47cbf8eba9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f47ccdb1038 EFLAGS: 00000246 ORIG_RAX: 000000000000002a RAX: ffffffffffffffda RBX: 00007f47cc1d5fa0 RCX: 00007f47cbf8eba9 RDX: 0000000000000010 RSI: 0000200000000280 RDI: 000000000000000b RBP: 00007f47cc011e19 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f47cc1d6038 R14: 00007f47cc1d5fa0 R15: 00007ffc512f8aa8 </TASK>
The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff888036bacd00 pfn:0x36bac flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000000 ffffea0001243d08 ffff8880b863fdc0 0000000000000000 raw: ffff888036bacd00 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as freed page last allocated via order 2, migratetype Unmovable, gfp_mask 0x446dc0(GFP_KERNEL_ACCOUNT|__GFP_ZERO|__GFP_NOWARN|__GFP_RETRY_MAYFAIL|__GFP_COMP), pid 16741, tgid 16741 (syz-executor), ts 343313197788, free_ts 380670750466 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x240/0x2a0 mm/page_alloc.c:1851 prep_new_page mm/page_alloc.c:1859 [inline] get_page_from_freelist+0x21e4/0x22c0 mm/page_alloc.c:3858 __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5148 alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2416 ___kmalloc_large_node+0x5f/0x1b0 mm/slub.c:4317 __kmalloc_large_node_noprof+0x18/0x90 mm/slub.c:4348 __do_kmalloc_node mm/slub.c:4364 [inline] __kvmalloc_node ---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 |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-coreUpgrade kernel-64k-modules-extraUpgrade perfUpgrade kernel-modulesUpgrade kernel-rt-develUpgrade kernel-rt-debugUpgrade rtlaUpgrade kernel-debug-uki-virtUpgrade kernel-develUpgrade kernel-64k-debug-modulesUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-modules-extraUpgrade kernel-rt-64k-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-uki-virtUpgrade bpftoolUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-debug-coreUpgrade kernel-debug-develUpgrade kernel-rt-debug-modulesUpgrade kernel-64k-modules-coreUpgrade kernel-docUpgrade kernel-tools-libsUpgrade kernel-rt-debug-modules-coreUpgrade kernel-64k-debug-develUpgrade kernel-64k-debug-modules-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-64k-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debugUpgrade kernel-rt-64k-develUpgrade python3-perfUpgrade kernel-rt-coreUpgrade kernel-rt-64k-debug-develUpgrade kernel-headersUpgrade kernelUpgrade kernel-rt-64k-debugUpgrade kernel-64kUpgrade libperfUpgrade kernel-64k-coreUpgrade kernel-rt-64k-modules-coreUpgrade kernel-devel-matchedUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-rt-modules-extraUpgrade kernel-debug-modules-extraUpgrade kernel-debug-modulesUpgrade kernel-rt-modules-coreUpgrade kernel-64k-debugUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-64kUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-rtUpgrade kernel-rt-64k-debug-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-zfcpdumpUpgrade kernel-debug-modules-coreUpgrade kernel-modules-coreUpgrade rvUpgrade kernel-rt-64k-modules-extraUpgrade kernel-zfcpdump-coreUpgrade kernel-abi-stablelistsUpgrade kernel-cross-headersUpgrade kernel-rt-debug-coreUpgrade kernel-64k-debug-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-rt-debug-develUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-64k-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-64k-debug-coreUpgrade kernel-uki-virt-addonsUpgrade kernel-64k-modulesUpgrade kernel-rt-modulesUpgrade kernel-toolsUpgrade kernel-zfcpdump-modules | Feb 25, 2026 | Feb 23, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.12 | Sep 18, 2026 | Oct 28, 2025 |
| Oracle_linux | — | Upgrade kernel | Feb 24, 2026 | Oct 28, 2025 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | Feb 17, 2026 | Oct 28, 2025 |
| Rocky_linux | — | Upgrade kernel-rt-debugUpgrade kernel-debugUpgrade kernel-debug-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-develUpgrade kernel-zfcpdump-modules-extraUpgrade perfUpgrade kernel-rt-develUpgrade kernel-zfcpdump-devel-matchedUpgrade perf-debuginfoUpgrade kernelUpgrade kernel-debug-uki-virtUpgrade kernel-rt-coreUpgrade kernel-rt-modules-extraUpgrade kernel-tools-debuginfoUpgrade kernel-uki-virtUpgrade kernel-debuginfoUpgrade rtlaUpgrade kernel-zfcpdump-debuginfoUpgrade libperfUpgrade python3-perfUpgrade kernel-devel-matchedUpgrade kernel-tools-libs-develUpgrade kernel-debug-coreUpgrade kernel-zfcpdump-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debuginfoUpgrade kernel-debug-modules-coreUpgrade kernel-debug-debuginfoUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-debug-develUpgrade kernel-debug-modulesUpgrade python3-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-modules-extra-matchedUpgrade libperf-debuginfoUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-zfcpdumpUpgrade kernel-rt-debug-coreUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debug-modules-coreUpgrade kernel-modules-extraUpgrade kernel-rtUpgrade kernel-rt-debug-debuginfoUpgrade kernel-debuginfo-common-s390xUpgrade kernel-modulesUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-modulesUpgrade rvUpgrade kernel-coreUpgrade kernel-modules-core | Feb 26, 2026 | Feb 24, 2026 |
| Ubuntu | — | Upgrade linux-image-azure-6.17Upgrade linux-image-raspi-6.17Upgrade linux-image-gcpUpgrade linux-image-6.8.0-1035-nvidia-tegraUpgrade linux-image-genericUpgrade linux-image-aws-6.17Upgrade linux-image-realtimeUpgrade linux-image-virtual-6.17Upgrade linux-image-6.17.0-1011-oemUpgrade linux-image-generic-6.17Upgrade linux-image-6.17.0-1007-gcp-64kUpgrade linux-image-6.17.0-1007-oracleUpgrade linux-image-oracle-64kUpgrade linux-image-6.17.0-1008-azureUpgrade linux-image-6.17.0-14-generic-64kUpgrade linux-image-awsUpgrade linux-image-aws-64kUpgrade linux-image-virtualUpgrade linux-image-6.17.0-1006-realtimeUpgrade linux-image-oem-6.17Upgrade linux-image-oracleUpgrade linux-image-6.17.0-1007-aws-64kUpgrade linux-image-oracle-6.17Upgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1035-nvidia-tegra-rtUpgrade linux-image-realtime-6.17Upgrade linux-image-generic-64k-6.17Upgrade linux-image-6.17.0-14-genericUpgrade linux-image-6.17.0-1008-raspiUpgrade linux-image-6.17.0-1007-awsUpgrade linux-image-gcp-64k-6.17Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-gcp-6.17Upgrade linux-image-oracle-64k-6.17Upgrade linux-image-generic-64kUpgrade linux-image-6.17.0-1007-gcpUpgrade linux-image-azureUpgrade linux-image-aws-64k-6.17Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-nvidia-tegraUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.17.0-1007-oracle-64kUpgrade linux-image-raspi | Feb 13, 2026 | Feb 12, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 21, 2026 | Oct 28, 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