In the Linux kernel, the following vulnerability has been resolved:
tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets
TCP_SYN_RECV state is really special, it is only used by cross-syn connections, mostly used by fuzzers.
In the following crash [1], syzbot managed to trigger a divide by zero in tcp_rcv_space_adjust()
A socket makes the following state transitions, without ever calling tcp_init_transfer(), meaning tcp_init_buffer_space() is also not called.
TCP_CLOSE connect() TCP_SYN_SENT TCP_SYN_RECV shutdown() -> tcp_shutdown(sk, SEND_SHUTDOWN) TCP_FIN_WAIT1
To fix this issue, change tcp_shutdown() to not perform a TCP_SYN_RECV -> TCP_FIN_WAIT1 transition, which makes no sense anyway.
When tcp_rcv_state_process() later changes socket state from TCP_SYN_RECV to TCP_ESTABLISH, then look at sk->sk_shutdown to finally enter TCP_FIN_WAIT1 state, and send a FIN packet from a sane socket state.
This means tcp_send_fin() can now be called from BH context, and must use GFP_ATOMIC allocations.
[1] divide error: 0000 [#1] PREEMPT SMP KASAN NOPTI CPU: 1 PID: 5084 Comm: syz-executor358 Not tainted 6.9.0-rc6-syzkaller-00022-g98369dccd2f8 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 RIP: 0010:tcp_rcv_space_adjust+0x2df/0x890 net/ipv4/tcp_input.c:767 Code: e3 04 4c 01 eb 48 8b 44 24 38 0f b6 04 10 84 c0 49 89 d5 0f 85 a5 03 00 00 41 8b 8e c8 09 00 00 89 e8 29 c8 48 0f af c3 31 d2 <48> f7 f1 48 8d 1c 43 49 8d 96 76 08 00 00 48 89 d0 48 c1 e8 03 48 RSP: 0018:ffffc900031ef3f0 EFLAGS: 00010246 RAX: 0c677a10441f8f42 RBX: 000000004fb95e7e RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000027d4b11f R08: ffffffff89e535a4 R09: 1ffffffff25e6ab7 R10: dffffc0000000000 R11: ffffffff8135e920 R12: ffff88802a9f8d30 R13: dffffc0000000000 R14: ffff88802a9f8d00 R15: 1ffff1100553f2da FS: 00005555775c0380(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f1155bf2304 CR3: 000000002b9f2000 CR4: 0000000000350ef0 Call Trace: <TASK> tcp_recvmsg_locked+0x106d/0x25a0 net/ipv4/tcp.c:2513 tcp_recvmsg+0x25d/0x920 net/ipv4/tcp.c:2578 inet6_recvmsg+0x16a/0x730 net/ipv6/af_inet6.c:680 sock_recvmsg_nosec net/socket.c:1046 [inline] sock_recvmsg+0x109/0x280 net/socket.c:1068 ____sys_recvmsg+0x1db/0x470 net/socket.c:2803 ___sys_recvmsg net/socket.c:2845 [inline] do_recvmmsg+0x474/0xae0 net/socket.c:2939 __sys_recvmmsg net/socket.c:3018 [inline] __do_sys_recvmmsg net/socket.c:3041 [inline] __se_sys_recvmmsg net/socket.c:3034 [inline] __x64_sys_recvmmsg+0x199/0x250 net/socket.c:3034 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7faeb6363db9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 c1 17 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffcc1997168 EFLAGS: 00000246 ORIG_RAX: 000000000000012b RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007faeb6363db9 RDX: 0000000000000001 RSI: 0000000020000bc0 RDI: 0000000000000005 RBP: 0000000000000000 R08: 0000000000000000 R09: 000000000000001c R10: 0000000000000122 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000001
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-rt-coreUpgrade kernel-rt-modules-extraUpgrade kernel-headersUpgrade kernel-develUpgrade python3-perfUpgrade perfUpgrade kernelUpgrade kernel-tools-libs-develUpgrade kernel-docUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-cross-headersUpgrade kernel-rt-kvmUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-modulesUpgrade kernel-rt-develUpgrade kernel-modules-extraUpgrade kernel-zfcpdumpUpgrade kernel-tools-libsUpgrade kernel-rt-debug-modulesUpgrade kernel-debugUpgrade kernel-rtUpgrade kernel-abi-stablelistsUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-develUpgrade kernel-toolsUpgrade kernel-rt-debug-coreUpgrade bpftoolUpgrade kernel-debug-coreUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-coreUpgrade kernel-rt-debugUpgrade kernel-debug-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-modules | Aug 12, 2024 | May 30, 2024 |
| Amazon Linux Ami 2 | — | Upgrade python-perf-debuginfoUpgrade perfUpgrade python-perfUpgrade kernel-livepatch-5.15.160-104.158Upgrade perf-debuginfoUpgrade kernelUpgrade kernel-livepatch-4.14.348-265.562Upgrade kernel-toolsUpgrade kernel-tools-develUpgrade kernel-headersUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.10.217-205.860Upgrade kernel-develUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade bpftoolUpgrade kernel-tools-debuginfo | Jun 12, 2024 | May 30, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-develUpgrade python3-perf-debuginfoUpgrade kernel-libbpfUpgrade kernel-headersUpgrade kernel-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-modules-extraUpgrade bpftoolUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade kernel-libbpf-develUpgrade kernelUpgrade kernel-libbpf-staticUpgrade kernel-toolsUpgrade perf-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-livepatch-6.1.91-99.172Upgrade kernel-debuginfo-common-aarch64Upgrade python3-perfUpgrade perfUpgrade kernel-tools-devel | Feb 17, 2025 | May 30, 2024 |
| Debian | — | Upgrade linux | Jun 4, 2024 | May 30, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libs | Oct 8, 2024 | May 30, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade python3-perfUpgrade kernelUpgrade kernel-tools-libsUpgrade bpftool | Oct 8, 2024 | May 30, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernelUpgrade kernel-toolsUpgrade bpftool | Oct 9, 2024 | May 30, 2024 |
| Huawei Euleros 2_0_sp8 | — | Upgrade kernelUpgrade python-perfUpgrade kernel-headersUpgrade kernel-tools-libsUpgrade kernel-develUpgrade kernel-toolsUpgrade bpftoolUpgrade python3-perfUpgrade perf | Jan 21, 2025 | May 30, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-tools-libsUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel | Oct 8, 2024 | May 30, 2024 |
| Oracle_linux | — | Upgrade kernelUpgrade kernel-uek | Aug 16, 2024 | May 30, 2024 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | Aug 12, 2024 | May 30, 2024 |
| Rocky_linux | — | Upgrade kernel-tools-libs-develUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-rt-debugUpgrade kernel-rtUpgrade kernel-rt-debug-coreUpgrade kernel-rt-debuginfoUpgrade kernel-debug-modules-extraUpgrade kernel-develUpgrade perfUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-debuginfoUpgrade python3-perf-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-debug-modulesUpgrade kernel-rt-kvmUpgrade kernel-rt-develUpgrade bpftoolUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debug-develUpgrade kernel-debug-debuginfoUpgrade kernel-cross-headersUpgrade kernelUpgrade python3-perfUpgrade kernel-debuginfoUpgrade kernel-coreUpgrade kernel-modulesUpgrade kernel-rt-coreUpgrade kernel-debugUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debug-develUpgrade kernel-tools-debuginfoUpgrade kernel-debug-coreUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-rt-debug-kvmUpgrade kernel-modules-extra | Aug 22, 2024 | May 30, 2024 |
| Suse | — | Upgrade cluster-md-kmp-rtUpgrade kernel-rt-livepatchUpgrade kernel-obs-buildUpgrade kernel-debug-develUpgrade kernel-source-rtUpgrade kernel-default-livepatchUpgrade dtb-renesasUpgrade kernel-64kb-extraUpgrade dlm-kmp-rtUpgrade kernel-rt-optionalUpgrade kernel-source-vanillaUpgrade ocfs2-kmp-64kbUpgrade kernel-azure-extraUpgrade kernel-debugUpgrade kernel-azure-optionalUpgrade ocfs2-kmp-azureUpgrade kernel-docs-htmlUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-azureUpgrade kernel-develUpgrade ocfs2-kmp-defaultUpgrade kernel-default-optionalUpgrade kselftests-kmp-64kbUpgrade kernel-rt_debug-develUpgrade reiserfs-kmp-64kbUpgrade dtb-rockchipUpgrade gfs2-kmp-defaultUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azureUpgrade kernel-default-baseUpgrade kernel-default-vdsoUpgrade kernel-defaultUpgrade dtb-xilinxUpgrade dtb-amdUpgrade dtb-appleUpgrade dtb-allwinnerUpgrade dtb-caviumUpgrade dtb-freescaleUpgrade reiserfs-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade dtb-lgUpgrade dlm-kmp-64kbUpgrade dtb-alteraUpgrade dtb-broadcomUpgrade kernel-debug-vdsoUpgrade kselftests-kmp-rtUpgrade dtb-nvidiaUpgrade dtb-sprdUpgrade kernel-default-livepatch-develUpgrade kernel-rt-extraUpgrade gfs2-kmp-azureUpgrade dtb-amlogicUpgrade kernel-64kbUpgrade dlm-kmp-azureUpgrade kernel-rt-livepatch-develUpgrade dtb-exynosUpgrade kernel-kvmsmallUpgrade dtb-socionextUpgrade kernel-devel-rtUpgrade ocfs2-kmp-rtUpgrade dlm-kmp-defaultUpgrade kernel-default-base-rebuildUpgrade dtb-marvellUpgrade reiserfs-kmp-azureUpgrade kernel-rt_debugUpgrade kernel-default-manUpgrade kernel-azure-vdsoUpgrade gfs2-kmp-64kbUpgrade dtb-hisiliconUpgrade cluster-md-kmp-azureUpgrade kernel-docsUpgrade kernel-zfcpdumpUpgrade kernel-sourceUpgrade dtb-armUpgrade dtb-apmUpgrade kernel-devel-azureUpgrade kernel-default-extraUpgrade kselftests-kmp-defaultUpgrade kernel-rt_debug-vdsoUpgrade kernel-rt-develUpgrade kernel-source-azureUpgrade kernel-rtUpgrade kernel-obs-qaUpgrade dtb-mediatekUpgrade kernel-default-develUpgrade kernel-syms-azureUpgrade kernel-kvmsmall-develUpgrade kernel-azure-develUpgrade gfs2-kmp-rtUpgrade kernel-syms-rtUpgrade kernel-symsUpgrade dtb-qcomUpgrade reiserfs-kmp-rtUpgrade dtb-amazonUpgrade kernel-64kb-develUpgrade kernel-64kb-optionalUpgrade cluster-md-kmp-defaultUpgrade kernel-macros | Dec 5, 2025 | Dec 13, 2024 |
| Ubuntu | — | Upgrade linux-image-5.15.0-118-generic-lpaeUpgrade linux-image-6.8.0-1011-nvidia-lowlatencyUpgrade linux-image-ibmUpgrade linux-image-6.8.0-40-lowlatency-64kUpgrade linux-image-oem-20.04bUpgrade linux-image-aws-lts-22.04Upgrade linux-image-nvidiaUpgrade linux-image-intel-iotgUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1067-awsUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1062-intel-iotgUpgrade linux-image-gkeop-5.4Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1134-gcpUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1066-gcpUpgrade linux-image-6.8.0-1011-nvidiaUpgrade linux-image-ibm-classicUpgrade linux-image-5.15.0-118-genericUpgrade linux-image-bluefieldUpgrade linux-image-oracle-64kUpgrade linux-image-gkeopUpgrade linux-image-generic-lpaeUpgrade linux-image-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-118-generic-64kUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.4.0-1114-raspiUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-5.15.0-118-lowlatency-64kUpgrade linux-image-5.4.0-1097-gkeopUpgrade linux-image-5.4.0-1118-kvmUpgrade linux-image-oracleUpgrade linux-image-azure-lts-22.04Upgrade linux-image-gcpUpgrade linux-image-5.15.0-1060-raspiUpgrade linux-image-azure-lts-20.04Upgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1065-oracleUpgrade linux-image-6.8.0-1011-nvidia-lowlatency-64kUpgrade linux-image-genericUpgrade linux-image-6.8.0-1012-gcpUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1010-ibmUpgrade linux-image-raspi2Upgrade linux-image-oem-20.04dUpgrade linux-image-oem-24.04aUpgrade linux-image-oem-osp1Upgrade linux-image-5.4.0-1090-bluefieldUpgrade linux-image-6.8.0-1010-oracleUpgrade linux-image-6.8.0-1011-nvidia-64kUpgrade linux-image-5.15.0-1064-kvmUpgrade linux-image-raspiUpgrade linux-image-6.8.0-1010-oemUpgrade linux-image-5.4.0-192-lowlatencyUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1050-gkeopUpgrade linux-image-6.8.0-40-genericUpgrade linux-image-5.15.0-1064-gkeUpgrade linux-image-intelUpgrade linux-image-5.15.0-1062-nvidiaUpgrade linux-image-awsUpgrade linux-image-5.4.0-1135-azureUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-nvidia-6.8Upgrade linux-image-5.15.0-118-lowlatencyUpgrade linux-image-oemUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-6.8.0-1010-oracle-64kUpgrade linux-image-oem-24.04Upgrade linux-image-azure-cvmUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.4.0-192-genericUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-6.8.0-1013-awsUpgrade linux-image-azureUpgrade linux-image-5.15.0-1060-ibmUpgrade linux-image-5.4.0-1129-oracleUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.4.0-192-generic-lpaeUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-6.8.0-1012-azure-fdeUpgrade linux-image-kvmUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.0-1009-raspiUpgrade linux-image-6.8.0-1008-gkeUpgrade linux-image-gkeUpgrade linux-image-6.8.0-40-lowlatencyUpgrade linux-image-oem-20.04Upgrade linux-image-6.8.0-1012-azureUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-oem-20.04cUpgrade linux-image-5.4.0-1077-ibmUpgrade linux-image-5.4.0-1049-xilinx-zynqmpUpgrade linux-image-6.8.0-40-generic-64kUpgrade linux-image-5.15.0-1070-azure-fdeUpgrade linux-image-5.15.0-1062-nvidia-lowlatencyUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.4.0-1042-iotUpgrade linux-image-5.4.0-1130-awsUpgrade linux-image-5.15.0-1070-azure | Aug 9, 2024 | May 30, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 30, 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