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 rtlaUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-64k-develUpgrade python3-perfUpgrade kernel-64k-debug-modulesUpgrade kernel-coreUpgrade kernel-64k-modules-coreUpgrade kernel-tools-libsUpgrade kernel-rt-64k-debug-develUpgrade kernel-rt-debugUpgrade kernel-debug-coreUpgrade perfUpgrade kernel-64k-develUpgrade kernel-64k-debug-develUpgrade kernel-rt-64k-coreUpgrade kernel-modulesUpgrade kernel-debugUpgrade kernel-debug-uki-virtUpgrade bpftoolUpgrade kernel-docUpgrade kernel-modules-extraUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-develUpgrade kernel-debug-develUpgrade kernel-rt-coreUpgrade kernel-64k-modules-extraUpgrade kernel-64k-debug-modules-coreUpgrade kernel-develUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-uki-virtUpgrade kernel-64k-coreUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-64k-modules-coreUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-rtUpgrade kernel-64k-debugUpgrade kernel-rt-64k-debug-coreUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-64kUpgrade kernel-64k-debug-coreUpgrade kernel-devel-matchedUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-debug-modulesUpgrade kernel-rt-modules-coreUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-develUpgrade kernel-64k-debug-modules-extraUpgrade kernelUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-64k-modulesUpgrade kernel-rt-debug-coreUpgrade kernel-rt-debug-develUpgrade kernel-zfcpdump-modulesUpgrade kernel-cross-headersUpgrade kernel-zfcpdump-coreUpgrade kernel-abi-stablelistsUpgrade rvUpgrade kernel-rt-64k-modules-extraUpgrade kernel-modules-coreUpgrade kernel-debug-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-zfcpdumpUpgrade kernel-64k-modulesUpgrade kernel-rt-modulesUpgrade kernel-debug-modules-extraUpgrade kernel-64kUpgrade kernel-rt-64k-debugUpgrade kernel-headersUpgrade libperfUpgrade kernel-toolsUpgrade kernel-rt-modules-extra | Feb 25, 2026 | Feb 23, 2026 |
| Debian | — | Upgrade linux | 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 python3-perfUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-coreUpgrade kernel-rt-develUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-rt-debugUpgrade kernel-devel-matchedUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debug-develUpgrade kernel-develUpgrade kernel-debugUpgrade kernel-tools-libs-develUpgrade perf-debuginfoUpgrade kernel-rt-modules-extraUpgrade kernel-tools-debuginfoUpgrade kernel-debug-coreUpgrade kernel-zfcpdump-modules-extraUpgrade rtlaUpgrade kernelUpgrade libperfUpgrade kernel-uki-virtUpgrade perfUpgrade kernel-debug-uki-virtUpgrade kernel-debuginfoUpgrade kernel-zfcpdump-develUpgrade kernel-toolsUpgrade kernel-rtUpgrade kernel-debug-modulesUpgrade kernel-tools-libsUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debug-devel-matchedUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debuginfoUpgrade kernel-coreUpgrade kernel-modules-coreUpgrade kernel-zfcpdumpUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-modulesUpgrade rvUpgrade kernel-modules-extraUpgrade kernel-debug-debuginfoUpgrade libperf-debuginfoUpgrade kernel-debug-modules-coreUpgrade kernel-modules-extra-matchedUpgrade python3-perf-debuginfoUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-debug-debuginfoUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-debug-develUpgrade kernel-modulesUpgrade kernel-debuginfo-common-s390xUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-debug-coreUpgrade kernel-debug-modules-extraUpgrade kernel-uki-virt-addons | Feb 26, 2026 | Feb 24, 2026 |
| Ubuntu | — | Upgrade linux-image-generic-64kUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-gcp-6.17Upgrade linux-image-gcp-64k-6.17Upgrade linux-image-6.17.0-1007-gcpUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-oracle-64k-6.17Upgrade linux-image-raspiUpgrade linux-image-oracle-6.17Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-generic-64k-6.17Upgrade linux-image-aws-64k-6.17Upgrade linux-image-6.17.0-1008-raspiUpgrade linux-image-6.17.0-14-genericUpgrade linux-image-azureUpgrade linux-image-realtime-6.17Upgrade linux-image-nvidia-tegraUpgrade linux-image-gcp-64kUpgrade linux-image-6.17.0-1007-awsUpgrade linux-image-6.17.0-1007-oracle-64kUpgrade linux-image-6.8.0-1035-nvidia-tegra-rtUpgrade linux-image-6.17.0-1011-oemUpgrade linux-image-6.8.0-1035-nvidia-tegraUpgrade linux-image-6.17.0-1006-realtimeUpgrade linux-image-oem-6.17Upgrade linux-image-virtual-6.17Upgrade linux-image-virtualUpgrade linux-image-gcpUpgrade linux-image-aws-6.17Upgrade linux-image-genericUpgrade linux-image-generic-6.17Upgrade linux-image-awsUpgrade linux-image-6.17.0-14-generic-64kUpgrade linux-image-6.17.0-1007-aws-64kUpgrade linux-image-6.17.0-1007-gcp-64kUpgrade linux-image-oracle-64kUpgrade linux-image-aws-64kUpgrade linux-image-6.17.0-1008-azureUpgrade linux-image-6.17.0-1007-oracleUpgrade linux-image-raspi-6.17Upgrade linux-image-azure-6.17Upgrade linux-image-realtimeUpgrade linux-image-oracle | 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