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---
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-rt-modules-extraUpgrade kernel-rt-develUpgrade kernel-headersUpgrade kernel-modules-coreUpgrade kernel-64k-debug-coreUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-abi-stablelistsUpgrade kernel-debug-develUpgrade kernel-rt-coreUpgrade kernelUpgrade kernel-cross-headersUpgrade rtlaUpgrade kernel-debug-modulesUpgrade kernel-rt-debugUpgrade bpftoolUpgrade kernel-debug-modules-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-debug-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-tools-libsUpgrade kernel-64kUpgrade kernel-rt-kvmUpgrade kernel-rt-debug-coreUpgrade kernel-64k-modulesUpgrade kernel-64k-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-coreUpgrade rvUpgrade kernel-64k-debug-modules-coreUpgrade kernel-coreUpgrade kernel-rt-modules-coreUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-develUpgrade kernel-modules-extraUpgrade kernel-debugUpgrade kernel-zfcpdumpUpgrade perfUpgrade kernel-rt-debug-kvmUpgrade kernel-devel-matchedUpgrade kernel-64k-debugUpgrade kernel-rt-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-64k-devel-matchedUpgrade kernel-64k-develUpgrade kernel-rtUpgrade kernel-64k-debug-modules-extraUpgrade kernel-rt-debug-modules-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-uki-virtUpgrade kernel-zfcpdump-devel-matchedUpgrade libperfUpgrade kernel-zfcpdump-coreUpgrade kernel-64k-debug-develUpgrade kernel-docUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-modulesUpgrade kernel-64k-modules-extraUpgrade kernel-develUpgrade kernel-debug-coreUpgrade kernel-uki-virtUpgrade python3-perfUpgrade kernel-rt-debug-modulesUpgrade kernel-64k-debug-modulesUpgrade kernel-zfcpdump-devel | Sep 26, 2024 | Jul 29, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-develUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-5.10.223-211.872Upgrade bpftool-debuginfoUpgrade python-perfUpgrade kernel-livepatch-5.15.164-108.161Upgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade python-perf-debuginfoUpgrade kernelUpgrade bpftoolUpgrade perfUpgrade kernel-tools-develUpgrade kernel-tools | Aug 28, 2024 | Jul 29, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-libbpfUpgrade python3-perfUpgrade kernel-libbpf-staticUpgrade kernelUpgrade kernel-libbpf-develUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-modules-extraUpgrade kernel-livepatch-6.1.102-108.177Upgrade bpftool-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade kernel-tools-develUpgrade kernel-toolsUpgrade kernel-develUpgrade bpftoolUpgrade kernel-modules-extra-common | Feb 17, 2025 | Jul 29, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Aug 14, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libs | Nov 11, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade bpftoolUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade kernel-tools | Oct 9, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernelUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-libs | Nov 5, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernelUpgrade python3-perf | Nov 11, 2024 | Jul 29, 2024 |
| Oracle_linux | — | Upgrade kernelUpgrade kernel-uek | Oct 16, 2024 | Jul 29, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Sep 25, 2024 | Jul 29, 2024 |
| Rocky_linux | — | Upgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-tools-libs-develUpgrade perfUpgrade kernel-rt-debuginfoUpgrade kernel-rt-debug-develUpgrade kernel-rt-modules-extraUpgrade kernel-debug-modules-extraUpgrade kernel-cross-headersUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rtUpgrade kernel-toolsUpgrade kernel-rt-kvmUpgrade python3-perfUpgrade kernel-rt-debug-coreUpgrade kernel-develUpgrade kernel-debuginfoUpgrade kernel-rt-debugUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-tools-libsUpgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debug-modulesUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-coreUpgrade kernel-modules-extraUpgrade kernel-debug-develUpgrade kernel-rt-debug-modulesUpgrade kernel-modulesUpgrade kernel-debug-debuginfoUpgrade kernel-coreUpgrade kernelUpgrade kernel-rt-develUpgrade kernel-debug-coreUpgrade kernel-rt-modulesUpgrade kernel-debugUpgrade bpftool-debuginfoUpgrade python3-perf-debuginfo | Oct 2, 2024 | Jul 29, 2024 |
| Suse | — | Upgrade kernel-zfcpdumpUpgrade dtb-socionextUpgrade kernel-symsUpgrade gfs2-kmp-defaultUpgrade kernel-docsUpgrade kselftests-kmp-rtUpgrade dtb-lgUpgrade dtb-allwinnerUpgrade dtb-appleUpgrade kernel-64kb-livepatch-develUpgrade kernel-rt_debugUpgrade cluster-md-kmp-defaultUpgrade dtb-apmUpgrade kernel-azure-extraUpgrade kernel-docs-htmlUpgrade kernel-kvmsmall-develUpgrade ocfs2-kmp-rtUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-livepatch-develUpgrade kernel-source-azureUpgrade dtb-freescaleUpgrade kernel-64kb-extraUpgrade dlm-kmp-azureUpgrade gfs2-kmp-64kbUpgrade dtb-amdUpgrade dlm-kmp-defaultUpgrade dtb-marvellUpgrade kernel-64kbUpgrade kernel-debug-develUpgrade ocfs2-kmp-64kbUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-64kb-develUpgrade kernel-default-develUpgrade kernel-rt_debug-vdsoUpgrade kselftests-kmp-azureUpgrade reiserfs-kmp-64kbUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade reiserfs-kmp-rtUpgrade kernel-rt_debug-develUpgrade kernel-64kb-optionalUpgrade kernel-rt-optionalUpgrade kernel-azure-vdsoUpgrade kernel-default-baseUpgrade dtb-amazonUpgrade dtb-hisiliconUpgrade dtb-renesasUpgrade kernel-debug-livepatch-develUpgrade kernel-syms-rtUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-source-rtUpgrade dtb-broadcomUpgrade kernel-azure-optionalUpgrade kernel-default-livepatchUpgrade kernel-obs-qaUpgrade cluster-md-kmp-azureUpgrade kernel-debugUpgrade kernel-default-livepatch-develUpgrade kernel-source-vanillaUpgrade dtb-nvidiaUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-64kbUpgrade kernel-sourceUpgrade kernel-default-vdsoUpgrade gfs2-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade kselftests-kmp-defaultUpgrade kernel-default-extraUpgrade kernel-devel-rtUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-develUpgrade kernel-syms-azureUpgrade kernel-rt-develUpgrade cluster-md-kmp-rtUpgrade kernel-defaultUpgrade gfs2-kmp-rtUpgrade dlm-kmp-64kbUpgrade dtb-mediatekUpgrade dtb-armUpgrade ocfs2-kmp-defaultUpgrade kernel-default-optionalUpgrade kernel-azureUpgrade kernel-debug-vdsoUpgrade dtb-rockchipUpgrade kernel-default-base-rebuildUpgrade dtb-caviumUpgrade dtb-amlogicUpgrade dtb-exynosUpgrade dtb-alteraUpgrade dtb-sprdUpgrade reiserfs-kmp-azureUpgrade kernel-rt-livepatchUpgrade kernel-obs-buildUpgrade kernel-rt-extraUpgrade kernel-devel-azureUpgrade dlm-kmp-rtUpgrade kernel-rtUpgrade dtb-xilinxUpgrade dtb-qcomUpgrade kernel-kvmsmallUpgrade kernel-macrosUpgrade kernel-devel | Aug 14, 2024 | Jul 29, 2024 |
| Ubuntu | — | Upgrade linux-image-gkeop-5.4Upgrade linux-image-oem-24.04Upgrade linux-image-gcpUpgrade linux-image-aws-lts-22.04Upgrade linux-image-ibm-classicUpgrade linux-image-oem-20.04dUpgrade linux-image-5.4.0-1131-oracleUpgrade linux-image-oem-osp1Upgrade linux-image-oem-24.04aUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1015-oracleUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.4.0-1137-azureUpgrade linux-image-5.15.0-1072-azureUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-121-generic-64kUpgrade linux-image-aws-lts-20.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-1016-azure-fdeUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1062-ibmUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1014-ibmUpgrade linux-image-6.8.0-1015-oracle-64kUpgrade linux-image-5.15.0-1066-kvmUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-intelUpgrade linux-image-oem-22.04Upgrade linux-image-5.4.0-1092-bluefieldUpgrade linux-image-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-48-lowlatencyUpgrade linux-image-6.8.0-48-generic-64kUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-gkeopUpgrade linux-image-5.15.0-1072-azure-fdeUpgrade linux-image-raspi2Upgrade linux-image-5.4.0-1079-ibmUpgrade linux-image-5.15.0-1064-intel-iotgUpgrade linux-image-gke-5.15Upgrade linux-image-5.4.0-1099-gkeopUpgrade linux-image-6.8.0-1017-nvidiaUpgrade linux-image-genericUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-ibmUpgrade linux-image-oem-22.04cUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-121-generic-lpaeUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-azureUpgrade linux-image-oem-20.04Upgrade linux-image-nvidiaUpgrade linux-image-oem-20.04bUpgrade linux-image-oemUpgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-121-lowlatency-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-raspiUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1017-gcpUpgrade linux-image-oem-22.04dUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-5.4.0-195-genericUpgrade linux-image-6.8.0-48-lowlatency-64kUpgrade linux-image-5.4.0-1043-iotUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1064-nvidiaUpgrade linux-image-6.8.0-1017-azure-fdeUpgrade linux-image-azure-fdeUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-kvmUpgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-6.8.0-1017-nvidia-64kUpgrade linux-image-5.15.0-121-genericUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1016-azureUpgrade linux-image-azure-cvmUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-5.15.0-1062-raspiUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-5.15.0-121-lowlatencyUpgrade linux-image-5.15.0-1052-gkeopUpgrade linux-image-6.8.0-1017-azureUpgrade linux-image-5.4.0-195-lowlatencyUpgrade linux-image-5.15.0-1066-gkeUpgrade linux-image-5.15.0-1067-oracleUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1017-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1068-gcpUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-awsUpgrade linux-image-5.4.0-1116-raspiUpgrade linux-image-6.8.0-1017-nvidia-lowlatencyUpgrade linux-image-azure-lts-20.04Upgrade linux-image-5.4.0-1120-kvmUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1018-awsUpgrade linux-image-5.4.0-1132-awsUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.4.0-1136-gcpUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-raspi2-hwe-18.04Upgrade linux-image-6.8.0-1016-oemUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-5.4.0-1051-xilinx-zynqmpUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1014-raspiUpgrade linux-image-6.8.0-1013-gkeUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-48-genericUpgrade linux-image-5.15.0-1069-awsUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1016-gcpUpgrade linux-image-5.15.0-1064-nvidia-lowlatencyUpgrade linux-image-generic-lpaeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-bluefieldUpgrade linux-image-5.4.0-195-generic-lpaeUpgrade linux-image-nvidia-64k-hwe-22.04 | 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 |
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