In the Linux kernel, the following vulnerability has been resolved:
tcp: properly terminate timers for kernel sockets
We had various syzbot reports about tcp timers firing after the corresponding netns has been dismantled.
Fortunately Josef Bacik could trigger the issue more often, and could test a patch I wrote two years ago.
When TCP sockets are closed, we call inet_csk_clear_xmit_timers() to 'stop' the timers.
inet_csk_clear_xmit_timers() can be called from any context, including when socket lock is held. This is the reason it uses sk_stop_timer(), aka del_timer(). This means that ongoing timers might finish much later.
For user sockets, this is fine because each running timer holds a reference on the socket, and the user socket holds a reference on the netns.
For kernel sockets, we risk that the netns is freed before timer can complete, because kernel sockets do not hold reference on the netns.
This patch adds inet_csk_clear_xmit_timers_sync() function that using sk_stop_timer_sync() to make sure all timers are terminated before the kernel socket is released. Modules using kernel sockets close them in their netns exit() handler.
Also add sock_not_owned_by_me() helper to get LOCKDEP support : inet_csk_clear_xmit_timers_sync() must not be called while socket lock is held.
It is very possible we can revert in the future commit 3a58f13a881e ("net: rds: acquire refcount on TCP sockets") which attempted to solve the issue in rds only. (net/smc/af_smc.c and net/mptcp/subflow.c have similar code)
We probably can remove the check_net() tests from tcp_out_of_resources() and __tcp_close() in the future.
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 perfUpgrade kernel-rt-debug-modulesUpgrade kernel-develUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-kvmUpgrade kernel-debug-develUpgrade kernel-debug-coreUpgrade kernel-debugUpgrade kernel-headersUpgrade kernel-modulesUpgrade kernel-coreUpgrade bpftoolUpgrade kernel-cross-headersUpgrade kernel-zfcpdump-modules-extraUpgrade kernelUpgrade kernel-rt-modules-extraUpgrade python3-perfUpgrade kernel-modules-extraUpgrade kernel-zfcpdump-develUpgrade kernel-rt-develUpgrade kernel-rt-debugUpgrade kernel-rt-debug-develUpgrade kernel-rt-coreUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-debug-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-debug-coreUpgrade kernel-docUpgrade kernel-debug-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rtUpgrade kernel-zfcpdump | Aug 12, 2024 | May 19, 2024 |
| Amazon Linux Ami 2 | — | Upgrade python-perfUpgrade kernel-livepatch-5.15.156-102.160Upgrade bpftool-debuginfoUpgrade perfUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade bpftoolUpgrade kernel-livepatch-5.10.215-203.850Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade kernel-debuginfoUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade kernel-headersUpgrade kernel-livepatch-4.14.345-262.561Upgrade python-perf-debuginfoUpgrade kernel-tools-debuginfo | Dec 12, 2024 | May 19, 2024 |
| Amazon_linux_2023 | — | Upgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-modules-extra-commonUpgrade bpftool-debuginfoUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-livepatch-6.1.87-99.174Upgrade python3-perf-debuginfoUpgrade perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-libbpf-develUpgrade kernel-headersUpgrade kernelUpgrade kernel-libbpfUpgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perfUpgrade kernel-tools-debuginfoUpgrade kernel-modules-extraUpgrade kernel-libbpf-staticUpgrade kernel-tools-devel | Feb 17, 2025 | May 19, 2024 |
| Debian | — | Upgrade linux | Jun 27, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-tools | Oct 8, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade kernelUpgrade python3-perf | Oct 8, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel | Oct 9, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel | Oct 8, 2024 | May 19, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | May 19, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Aug 12, 2024 | May 19, 2024 |
| Rocky_linux | — | Upgrade kernel-headersUpgrade kernel-rt-debug-debuginfoUpgrade kernel-debug-modulesUpgrade bpftool-debuginfoUpgrade kernel-modules-extraUpgrade kernel-rt-debug-modules-extraUpgrade perfUpgrade kernel-tools-libsUpgrade kernel-modulesUpgrade kernel-rt-coreUpgrade kernel-rt-develUpgrade kernel-debug-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-rt-debug-modulesUpgrade kernel-debugUpgrade kernel-rt-debugUpgrade kernelUpgrade kernel-rt-debug-develUpgrade kernel-cross-headersUpgrade kernel-debug-coreUpgrade perf-debuginfoUpgrade kernel-debuginfoUpgrade python3-perfUpgrade kernel-debug-develUpgrade kernel-rt-debug-kvmUpgrade kernel-coreUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-develUpgrade kernel-rt-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-toolsUpgrade kernel-rt-kvmUpgrade kernel-rt-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-debug-modules-extraUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debug-coreUpgrade kernel-rtUpgrade bpftool | Aug 22, 2024 | May 19, 2024 |
| Suse | — | Upgrade kernel-default-develUpgrade dtb-hisiliconUpgrade kernel-azure-optionalUpgrade kernel-kvmsmall-develUpgrade dtb-freescaleUpgrade kernel-macrosUpgrade kernel-debugUpgrade kernel-obs-qaUpgrade dtb-broadcomUpgrade kernel-rt-livepatch-develUpgrade kernel-azure-extraUpgrade cluster-md-kmp-defaultUpgrade kernel-symsUpgrade dtb-apmUpgrade kernel-kvmsmallUpgrade dlm-kmp-64kbUpgrade dtb-lgUpgrade kernel-azure-vdsoUpgrade kernel-default-livepatchUpgrade kernel-source-azureUpgrade kernel-develUpgrade dtb-alteraUpgrade kernel-64kb-develUpgrade dtb-marvellUpgrade dtb-amdUpgrade kernel-rt_debug-develUpgrade kernel-syms-azureUpgrade kernel-64kbUpgrade kernel-sourceUpgrade kselftests-kmp-64kbUpgrade cluster-md-kmp-rtUpgrade gfs2-kmp-64kbUpgrade kernel-default-manUpgrade kernel-devel-rtUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kernel-devel-azureUpgrade kernel-syms-rtUpgrade kernel-default-extraUpgrade reiserfs-kmp-defaultUpgrade kernel-rt_debugUpgrade kernel-zfcpdumpUpgrade gfs2-kmp-rtUpgrade dtb-amazonUpgrade dtb-appleUpgrade kernel-rt_debug-vdsoUpgrade dtb-amlogicUpgrade ocfs2-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade kernel-docs-htmlUpgrade kernel-64kb-optionalUpgrade dtb-exynosUpgrade kernel-default-vdsoUpgrade kernel-debug-develUpgrade dtb-xilinxUpgrade kernel-default-optionalUpgrade kernel-rt-optionalUpgrade kernel-rt-extraUpgrade kernel-defaultUpgrade kselftests-kmp-defaultUpgrade kselftests-kmp-azureUpgrade kernel-kvmsmall-vdsoUpgrade dtb-mediatekUpgrade dtb-armUpgrade kernel-default-livepatch-develUpgrade kernel-debug-vdsoUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-rtUpgrade kernel-azure-develUpgrade gfs2-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade gfs2-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade dlm-kmp-defaultUpgrade kernel-rt-develUpgrade kernel-default-baseUpgrade ocfs2-kmp-defaultUpgrade kernel-64kb-extraUpgrade dtb-nvidiaUpgrade dlm-kmp-azureUpgrade ocfs2-kmp-azureUpgrade dtb-sprdUpgrade dtb-renesasUpgrade kernel-source-rtUpgrade kernel-source-vanillaUpgrade kernel-default-base-rebuildUpgrade dtb-socionextUpgrade dtb-allwinnerUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-azureUpgrade kernel-rtUpgrade kernel-obs-buildUpgrade kernel-docsUpgrade dtb-qcomUpgrade kernel-azureUpgrade dtb-rockchipUpgrade dtb-cavium | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-azure-cvmUpgrade linux-image-gkeUpgrade linux-image-oem-20.04dUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1060-nvidia-lowlatencyUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-20.04Upgrade linux-image-5.4.0-1112-raspiUpgrade linux-image-6.8.0-1007-intelUpgrade linux-image-gcpUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-oemUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-5.4.0-1095-gkeopUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-kvmUpgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-virtualUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-awsUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-oem-24.04Upgrade linux-image-5.15.0-1064-gcpUpgrade linux-image-5.4.0-1133-azureUpgrade linux-image-5.4.0-1075-ibmUpgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-5.4.0-1088-bluefieldUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-5.15.0-1062-gkeUpgrade linux-image-5.4.0-1128-awsUpgrade linux-image-5.15.0-116-generic-64kUpgrade linux-image-5.4.0-1047-xilinx-zynqmpUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-oracleUpgrade linux-image-5.4.0-189-genericUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.4.0-1127-oracleUpgrade linux-image-5.4.0-1040-iotUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1065-gcpUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1060-nvidiaUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-5.15.0-1058-ibmUpgrade linux-image-5.15.0-1062-kvmUpgrade linux-image-lowlatencyUpgrade linux-image-aws-lts-20.04Upgrade linux-image-generic-lpaeUpgrade linux-image-5.4.0-1132-gcpUpgrade linux-image-oracle-64kUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-6.8.0-1011-awsUpgrade linux-image-oem-20.04bUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-5.15.0-1068-azureUpgrade linux-image-gkeop-5.4Upgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1048-gkeopUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-ibmUpgrade linux-image-gke-5.15Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-oem-osp1Upgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-gkeopUpgrade linux-image-5.15.0-1065-awsUpgrade linux-image-5.4.0-189-lowlatencyUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-5.15.0-1060-intel-iotgUpgrade linux-image-5.4.0-1116-kvmUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-ibm-classicUpgrade linux-image-azureUpgrade linux-image-5.15.0-116-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-intel-iotgUpgrade linux-image-oem-24.04aUpgrade linux-image-5.15.0-116-genericUpgrade linux-image-5.15.0-116-generic-lpaeUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-raspiUpgrade linux-image-genericUpgrade linux-image-oem-20.04cUpgrade linux-image-aws-lts-22.04Upgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1063-oracleUpgrade linux-image-azure-lts-20.04Upgrade linux-image-intelUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-azure-fdeUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-5.15.0-116-lowlatencyUpgrade linux-image-raspi2Upgrade linux-image-5.15.0-1068-azure-fdeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-5.4.0-189-generic-lpae | Jul 12, 2024 | May 19, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 19, 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