In the Linux kernel, the following vulnerability has been resolved:
udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port().
syzkaller triggered the warning [0] in udp_v4_early_demux().
In udp_v[46]_early_demux() and sk_lookup(), we do not touch the refcount of the looked-up sk and use sock_pfree() as skb->destructor, so we check SOCK_RCU_FREE to ensure that the sk is safe to access during the RCU grace period.
Currently, SOCK_RCU_FREE is flagged for a bound socket after being put into the hash table. Moreover, the SOCK_RCU_FREE check is done too early in udp_v[46]_early_demux() and sk_lookup(), so there could be a small race window:
CPU1 CPU2 ---- ---- udp_v4_early_demux() udp_lib_get_port() | |- hlist_add_head_rcu() |- sk = __udp4_lib_demux_lookup() | |- DEBUG_NET_WARN_ON_ONCE(sk_is_refcounted(sk)); `- sock_set_flag(sk, SOCK_RCU_FREE)
We had the same bug in TCP and fixed it in commit 871019b22d1b ("net: set SOCK_RCU_FREE before inserting socket into hashtable").
Let's apply the same fix for UDP.
[0]: WARNING: CPU: 0 PID: 11198 at net/ipv4/udp.c:2599 udp_v4_early_demux+0x481/0xb70 net/ipv4/udp.c:2599 Modules linked in: CPU: 0 PID: 11198 Comm: syz-executor.1 Not tainted 6.9.0-g93bda33046e7 #13 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:udp_v4_early_demux+0x481/0xb70 net/ipv4/udp.c:2599 Code: c5 7a 15 fe bb 01 00 00 00 44 89 e9 31 ff d3 e3 81 e3 bf ef ff ff 89 de e8 2c 74 15 fe 85 db 0f 85 02 06 00 00 e8 9f 7a 15 fe <0f> 0b e8 98 7a 15 fe 49 8d 7e 60 e8 4f 39 2f fe 49 c7 46 60 20 52 RSP: 0018:ffffc9000ce3fa58 EFLAGS: 00010293 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff8318c92c RDX: ffff888036ccde00 RSI: ffffffff8318c2f1 RDI: 0000000000000001 RBP: ffff88805a2dd6e0 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0001ffffffffffff R12: ffff88805a2dd680 R13: 0000000000000007 R14: ffff88800923f900 R15: ffff88805456004e FS: 00007fc449127640(0000) GS:ffff88807dc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fc449126e38 CR3: 000000003de4b002 CR4: 0000000000770ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600 PKRU: 55555554 Call Trace: <TASK> ip_rcv_finish_core.constprop.0+0xbdd/0xd20 net/ipv4/ip_input.c:349 ip_rcv_finish+0xda/0x150 net/ipv4/ip_input.c:447 NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] ip_rcv+0x16c/0x180 net/ipv4/ip_input.c:569 __netif_receive_skb_one_core+0xb3/0xe0 net/core/dev.c:5624 __netif_receive_skb+0x21/0xd0 net/core/dev.c:5738 netif_receive_skb_internal net/core/dev.c:5824 [inline] netif_receive_skb+0x271/0x300 net/core/dev.c:5884 tun_rx_batched drivers/net/tun.c:1549 [inline] tun_get_user+0x24db/0x2c50 drivers/net/tun.c:2002 tun_chr_write_iter+0x107/0x1a0 drivers/net/tun.c:2048 new_sync_write fs/read_write.c:497 [inline] vfs_write+0x76f/0x8d0 fs/read_write.c:590 ksys_write+0xbf/0x190 fs/read_write.c:643 __do_sys_write fs/read_write.c:655 [inline] __se_sys_write fs/read_write.c:652 [inline] __x64_sys_write+0x41/0x50 fs/read_write.c:652 x64_sys_call+0xe66/0x1990 arch/x86/include/generated/asm/syscalls_64.h:2 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x4b/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7fc44a68bc1f Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 e9 cf f5 ff 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 3c d0 f5 ff 48 RSP: 002b:00007fc449126c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00000000004bc050 RCX: 00007fc44a68bc1f R ---truncated---
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-rt-debugUpgrade kernel-debug-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-coreUpgrade kernel-abi-stablelistsUpgrade kernel-debug-develUpgrade kernelUpgrade kernel-rt-debug-coreUpgrade kernel-tools-libsUpgrade kernel-64k-debug-coreUpgrade kernel-rt-modules-extraUpgrade kernel-64k-modules-coreUpgrade bpftoolUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-develUpgrade kernel-headersUpgrade kernel-rt-coreUpgrade kernel-debug-modules-extraUpgrade rtlaUpgrade kernel-64k-modulesUpgrade kernel-debug-modulesUpgrade kernel-64kUpgrade kernel-cross-headersUpgrade kernel-rt-kvmUpgrade kernel-zfcpdump-modulesUpgrade kernel-modules-coreUpgrade kernel-tools-libs-develUpgrade kernel-64k-debug-develUpgrade kernel-64k-develUpgrade kernel-modules-extraUpgrade kernel-debugUpgrade kernel-zfcpdump-develUpgrade kernel-64k-debug-modules-extraUpgrade kernel-64k-modules-extraUpgrade kernel-rt-modulesUpgrade kernel-devel-matchedUpgrade kernel-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-docUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-modulesUpgrade kernel-develUpgrade kernel-64k-debug-modulesUpgrade kernel-rt-modules-coreUpgrade kernel-64k-debug-modules-coreUpgrade kernel-rt-debug-kvmUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-uki-virtUpgrade kernel-rtUpgrade kernel-64k-debugUpgrade perfUpgrade kernel-zfcpdumpUpgrade python3-perfUpgrade kernel-64k-devel-matchedUpgrade kernel-zfcpdump-coreUpgrade libperfUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-toolsUpgrade rvUpgrade kernel-debug-uki-virtUpgrade kernel-rt-debug-devel | Sep 26, 2024 | Jul 29, 2024 |
| Amazon Linux Ami 2 | — | Upgrade python-perf-debuginfoUpgrade kernel-livepatch-5.10.223-211.872Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-5.15.164-108.161Upgrade perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade python-perfUpgrade bpftool-debuginfoUpgrade kernel-develUpgrade perfUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade bpftoolUpgrade kernel | Aug 28, 2024 | Jul 29, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-develUpgrade kernel-libbpfUpgrade perf-debuginfoUpgrade kernel-livepatch-6.1.102-108.177Upgrade kernel-debuginfoUpgrade kernel-modules-extraUpgrade kernel-libbpf-staticUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade kernel-headersUpgrade python3-perfUpgrade kernel-develUpgrade python3-perf-debuginfoUpgrade kernel-toolsUpgrade perfUpgrade bpftool-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade kernel-tools-devel | Feb 17, 2025 | Jul 29, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Aug 14, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel-abi-stablelists | Nov 11, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernelUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade python3-perf | Oct 9, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernelUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernel-tools | Nov 5, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernelUpgrade kernel-toolsUpgrade kernel-tools-libs | Nov 11, 2024 | Jul 29, 2024 |
| Oracle_linux | — | Upgrade kernelUpgrade kernel-uek | Oct 16, 2024 | Jul 29, 2024 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Sep 25, 2024 | Jul 29, 2024 |
| Rocky_linux | — | Upgrade kernel-rt-modules-extraUpgrade perfUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debuginfoUpgrade kernel-tools-libs-develUpgrade perf-debuginfoUpgrade kernel-rtUpgrade kernel-toolsUpgrade kernel-headersUpgrade kernel-rt-debug-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-cross-headersUpgrade kernel-modulesUpgrade kernel-rt-develUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-coreUpgrade kernel-tools-libsUpgrade kernel-debug-modulesUpgrade bpftoolUpgrade kernel-debug-debuginfoUpgrade kernel-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-kvmUpgrade kernel-rt-debugUpgrade kernel-debuginfoUpgrade kernel-debug-coreUpgrade kernel-debugUpgrade bpftool-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-coreUpgrade kernel-modules-extraUpgrade kernel-debug-develUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perfUpgrade kernel-rt-debug-debuginfo | Oct 2, 2024 | Jul 29, 2024 |
| Suse | — | Upgrade kernel-azure-optionalUpgrade kernel-debug-livepatch-develUpgrade kernel-default-baseUpgrade kernel-rt-optionalUpgrade cluster-md-kmp-azureUpgrade dtb-hisiliconUpgrade kernel-obs-qaUpgrade kernel-source-rtUpgrade kernel-default-livepatchUpgrade kernel-syms-rtUpgrade dtb-broadcomUpgrade dtb-renesasUpgrade kernel-default-livepatch-develUpgrade kernel-debug-develUpgrade kernel-debugUpgrade kernel-default-develUpgrade kernel-rt_debug-vdsoUpgrade kernel-azure-vdsoUpgrade ocfs2-kmp-64kbUpgrade dtb-amazonUpgrade ocfs2-kmp-rtUpgrade dtb-allwinnerUpgrade ocfs2-kmp-azureUpgrade dtb-socionextUpgrade gfs2-kmp-defaultUpgrade kernel-symsUpgrade reiserfs-kmp-64kbUpgrade dlm-kmp-defaultUpgrade gfs2-kmp-64kbUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-64kbUpgrade kernel-64kb-livepatch-develUpgrade kernel-64kb-develUpgrade dtb-marvellUpgrade reiserfs-kmp-defaultUpgrade kernel-docsUpgrade kernel-kvmsmall-livepatch-develUpgrade reiserfs-kmp-rtUpgrade kselftests-kmp-azureUpgrade kernel-zfcpdumpUpgrade kernel-azure-extraUpgrade kernel-rt_debug-develUpgrade kselftests-kmp-rtUpgrade dtb-freescaleUpgrade kernel-64kb-optionalUpgrade kernel-source-azureUpgrade dtb-apmUpgrade cluster-md-kmp-defaultUpgrade kernel-kvmsmall-develUpgrade kernel-64kb-extraUpgrade dtb-appleUpgrade dlm-kmp-azureUpgrade dtb-lgUpgrade kernel-docs-htmlUpgrade dtb-amdUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-livepatch-develUpgrade kernel-rt_debugUpgrade kernel-default-vdsoUpgrade kernel-debug-vdsoUpgrade gfs2-kmp-azureUpgrade kernel-sourceUpgrade dtb-caviumUpgrade kernel-default-base-rebuildUpgrade kselftests-kmp-defaultUpgrade kernel-develUpgrade dtb-rockchipUpgrade cluster-md-kmp-64kbUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-64kbUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-develUpgrade kernel-syms-azureUpgrade kernel-source-vanillaUpgrade kernel-devel-rtUpgrade kernel-default-extraUpgrade kernel-macrosUpgrade dtb-alteraUpgrade cluster-md-kmp-rtUpgrade reiserfs-kmp-azureUpgrade kernel-rt-livepatchUpgrade kernel-rt-develUpgrade kernel-obs-buildUpgrade dtb-sprdUpgrade dtb-exynosUpgrade dtb-armUpgrade kernel-azureUpgrade dtb-nvidiaUpgrade dtb-mediatekUpgrade ocfs2-kmp-defaultUpgrade dtb-qcomUpgrade dtb-amlogicUpgrade kernel-kvmsmallUpgrade dtb-xilinxUpgrade kernel-default-optionalUpgrade gfs2-kmp-rtUpgrade dlm-kmp-64kbUpgrade kernel-defaultUpgrade kernel-rtUpgrade kernel-devel-azureUpgrade kernel-rt-extraUpgrade dlm-kmp-rt | Aug 14, 2024 | Jul 29, 2024 |
| Ubuntu | — | Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-6.8.0-48-lowlatencyUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1015-oracle-64kUpgrade linux-image-5.15.0-1064-intel-iotgUpgrade linux-image-5.4.0-1079-ibmUpgrade linux-image-oem-22.04aUpgrade linux-image-raspi2Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-oem-22.04cUpgrade linux-image-5.4.0-1043-iotUpgrade linux-image-nvidiaUpgrade linux-image-5.15.0-1066-kvmUpgrade linux-image-intel-iotgUpgrade linux-image-nvidia-64kUpgrade linux-image-raspiUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-121-generic-lpaeUpgrade linux-image-6.8.0-1017-gcpUpgrade linux-image-5.15.0-121-lowlatency-64kUpgrade linux-image-oem-20.04bUpgrade linux-image-genericUpgrade linux-image-6.8.0-1017-nvidiaUpgrade linux-image-oem-20.04Upgrade linux-image-oem-20.04cUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-48-generic-64kUpgrade linux-image-gkeUpgrade linux-image-5.15.0-1072-azureUpgrade linux-image-5.4.0-1099-gkeopUpgrade linux-image-oem-22.04dUpgrade linux-image-5.4.0-1092-bluefieldUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1062-ibmUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-oem-22.04Upgrade linux-image-5.4.0-1137-azureUpgrade linux-image-oemUpgrade linux-image-lowlatencyUpgrade linux-image-oem-osp1Upgrade linux-image-6.8.0-1015-oracleUpgrade linux-image-aws-lts-20.04Upgrade linux-image-gcpUpgrade linux-image-azureUpgrade linux-image-6.8.0-1014-ibmUpgrade linux-image-oem-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-gkeopUpgrade linux-image-lowlatency-64kUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-intelUpgrade linux-image-ibmUpgrade linux-image-5.15.0-1072-azure-fdeUpgrade linux-image-6.8.0-48-lowlatency-64kUpgrade linux-image-5.4.0-195-genericUpgrade linux-image-oem-20.04dUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-6.8.0-1016-azure-fdeUpgrade linux-image-oem-24.04aUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gke-5.15Upgrade linux-image-ibm-classicUpgrade linux-image-aws-lts-22.04Upgrade linux-image-5.4.0-1131-oracleUpgrade linux-image-gkeop-5.4Upgrade linux-image-5.15.0-121-generic-64kUpgrade linux-image-azure-lts-22.04Upgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1064-nvidiaUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.4.0-1120-kvmUpgrade linux-image-6.8.0-1013-gkeUpgrade linux-image-6.8.0-1018-awsUpgrade linux-image-5.4.0-1136-gcpUpgrade linux-image-6.8.0-1017-azure-fdeUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1017-nvidia-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-azure-cvmUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-5.4.0-195-lowlatencyUpgrade linux-image-6.8.0-1017-azureUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.4.0-1132-awsUpgrade linux-image-5.15.0-1066-gkeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1016-gcpUpgrade linux-image-6.8.0-1017-nvidia-lowlatencyUpgrade linux-image-5.15.0-121-lowlatencyUpgrade linux-image-6.8.0-1016-oemUpgrade linux-image-6.8.0-1016-azureUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-kvmUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-5.15.0-1052-gkeopUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-5.15.0-1067-oracleUpgrade linux-image-gkeop-5.15Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.8.0-1014-raspiUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-6.8.0-48-genericUpgrade linux-image-nvidia-6.8Upgrade linux-image-5.4.0-1051-xilinx-zynqmpUpgrade linux-image-5.4.0-195-generic-lpaeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-raspi2-hwe-18.04Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-121-genericUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-awsUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.15.0-1068-gcpUpgrade linux-image-6.8.0-1017-nvidia-lowlatency-64kUpgrade linux-image-5.4.0-1116-raspiUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-lts-20.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-bluefieldUpgrade linux-image-5.15.0-1069-awsUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1064-nvidia-lowlatencyUpgrade linux-image-5.15.0-1062-raspi | Sep 13, 2024 | Jul 29, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Jul 29, 2024 |
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