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 kernelUpgrade kernel-rt-debugUpgrade perfUpgrade kernel-rt-coreUpgrade kernel-rt-debug-develUpgrade kernel-debugUpgrade bpftoolUpgrade kernel-cross-headersUpgrade kernel-rt-kvmUpgrade kernel-rt-modules-extraUpgrade kernel-zfcpdump-develUpgrade kernel-rt-develUpgrade kernel-coreUpgrade kernel-develUpgrade kernel-modulesUpgrade python3-perfUpgrade kernel-debug-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-modules-extraUpgrade kernel-rt-debug-kvmUpgrade kernel-debug-develUpgrade kernel-headersUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-modules-extraUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdumpUpgrade kernel-rt-debug-coreUpgrade kernel-rt-modulesUpgrade kernel-debug-modulesUpgrade kernel-rtUpgrade kernel-tools-libs-develUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-docUpgrade kernel-zfcpdump-modulesUpgrade kernel-abi-stablelistsUpgrade kernel-rt-debug-modules-extra | Aug 12, 2024 | May 19, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-livepatch-5.15.156-102.160Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade bpftool-debuginfoUpgrade kernel-develUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-livepatch-5.10.215-203.850Upgrade perfUpgrade python-perfUpgrade python-perf-debuginfoUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade kernel-livepatch-4.14.345-262.561Upgrade kernel-headersUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-x86_64 | Dec 12, 2024 | May 19, 2024 |
| Amazon_linux_2023 | — | Upgrade bpftool-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-modules-extra-commonUpgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-6.1.87-99.174Upgrade perf-debuginfoUpgrade kernel-toolsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-libbpfUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-modules-extraUpgrade kernel-headersUpgrade kernel-libbpf-staticUpgrade kernel-libbpf-develUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade kernel | Feb 17, 2025 | May 19, 2024 |
| Debian | — | Upgrade linux | Jun 27, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernelUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade python3-perf | Oct 8, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel | Oct 8, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernelUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-abi-stablelists | Oct 9, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade kernel-tools | Oct 8, 2024 | May 19, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | May 19, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernel-rtUpgrade kernel | Aug 12, 2024 | May 19, 2024 |
| Rocky_linux | — | Upgrade kernel-modules-extraUpgrade kernel-debug-modulesUpgrade bpftool-debuginfoUpgrade kernel-coreUpgrade kernel-tools-debuginfoUpgrade kernel-debug-debuginfoUpgrade kernel-debuginfoUpgrade python3-perfUpgrade kernel-debugUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-develUpgrade kernel-cross-headersUpgrade kernel-debug-coreUpgrade python3-perf-debuginfoUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-debug-modulesUpgrade kernel-debug-develUpgrade kernelUpgrade kernel-rt-debug-develUpgrade kernel-develUpgrade kernel-rt-coreUpgrade perfUpgrade kernel-rt-debugUpgrade kernel-tools-libsUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-modulesUpgrade kernel-debug-modules-extraUpgrade kernel-rt-modules-extraUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-coreUpgrade kernel-rtUpgrade bpftoolUpgrade kernel-rt-debuginfoUpgrade kernel-rt-kvmUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-libs-devel | Aug 22, 2024 | May 19, 2024 |
| Suse | — | Upgrade ocfs2-kmp-azureUpgrade dtb-mediatekUpgrade dtb-rockchipUpgrade kselftests-kmp-azureUpgrade kernel-defaultUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-optionalUpgrade kernel-default-livepatch-develUpgrade dtb-nvidiaUpgrade dtb-armUpgrade dtb-caviumUpgrade kernel-debug-vdsoUpgrade dlm-kmp-azureUpgrade dtb-socionextUpgrade kernel-rt-develUpgrade kselftests-kmp-defaultUpgrade kernel-64kb-extraUpgrade kernel-default-optionalUpgrade kernel-source-rtUpgrade dtb-allwinnerUpgrade reiserfs-kmp-azureUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-rtUpgrade kernel-docsUpgrade kernel-obs-buildUpgrade kernel-rtUpgrade kernel-default-base-rebuildUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-rtUpgrade kernel-rt-extraUpgrade dtb-qcomUpgrade kernel-azure-develUpgrade kernel-azureUpgrade cluster-md-kmp-64kbUpgrade gfs2-kmp-azureUpgrade gfs2-kmp-defaultUpgrade dtb-renesasUpgrade dtb-sprdUpgrade kernel-source-vanillaUpgrade ocfs2-kmp-defaultUpgrade kernel-default-baseUpgrade dlm-kmp-defaultUpgrade kernel-rt_debug-vdsoUpgrade dtb-amlogicUpgrade dtb-hisiliconUpgrade kernel-devel-azureUpgrade kernel-64kb-optionalUpgrade kernel-devel-rtUpgrade kernel-default-manUpgrade cluster-md-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade kernel-sourceUpgrade kernel-docs-htmlUpgrade gfs2-kmp-64kbUpgrade ocfs2-kmp-64kbUpgrade dtb-appleUpgrade kernel-macrosUpgrade kernel-kvmsmall-develUpgrade kernel-azure-extraUpgrade kernel-source-azureUpgrade kernel-kvmsmallUpgrade kernel-develUpgrade kernel-default-livepatchUpgrade kernel-debugUpgrade kernel-azure-vdsoUpgrade kernel-64kb-develUpgrade dtb-marvellUpgrade dtb-alteraUpgrade cluster-md-kmp-defaultUpgrade kernel-symsUpgrade dtb-broadcomUpgrade kernel-rt-livepatch-develUpgrade kernel-azure-optionalUpgrade dtb-amazonUpgrade ocfs2-kmp-rtUpgrade kernel-syms-azureUpgrade kernel-64kbUpgrade dtb-xilinxUpgrade kernel-rt_debug-develUpgrade dtb-freescaleUpgrade dtb-amdUpgrade kernel-rt_debugUpgrade kernel-debug-develUpgrade kernel-zfcpdumpUpgrade dtb-exynosUpgrade gfs2-kmp-rtUpgrade kernel-default-extraUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-defaultUpgrade kernel-syms-rtUpgrade kernel-default-vdsoUpgrade dlm-kmp-64kbUpgrade kernel-obs-qaUpgrade dtb-lgUpgrade dtb-apmUpgrade kernel-default-devel | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-gkeop-5.4Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-ibmUpgrade linux-image-5.15.0-116-genericUpgrade linux-image-5.15.0-1068-azureUpgrade linux-image-azure-lts-22.04Upgrade linux-image-gke-5.15Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1011-awsUpgrade linux-image-intelUpgrade linux-image-aws-lts-20.04Upgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-azure-lts-20.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-oracle-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-1048-gkeopUpgrade linux-image-5.4.0-189-lowlatencyUpgrade linux-image-5.15.0-116-lowlatency-64kUpgrade linux-image-ibm-classicUpgrade linux-image-azureUpgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1063-oracleUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-genericUpgrade linux-image-5.15.0-116-lowlatencyUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-5.15.0-1060-intel-iotgUpgrade linux-image-5.15.0-1068-azure-fdeUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-5.4.0-189-generic-lpaeUpgrade linux-image-5.15.0-1062-kvmUpgrade linux-image-oem-20.04bUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-generic-lpaeUpgrade linux-image-raspi2Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-oem-osp1Upgrade linux-image-5.4.0-1132-gcpUpgrade linux-image-aws-lts-22.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-oem-24.04aUpgrade linux-image-raspiUpgrade linux-image-5.4.0-1116-kvmUpgrade linux-image-gkeopUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1065-awsUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-5.15.0-116-generic-lpaeUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-nvidiaUpgrade linux-image-5.4.0-1095-gkeopUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-5.4.0-1075-ibmUpgrade linux-image-oem-24.04Upgrade linux-image-5.15.0-1062-gkeUpgrade linux-image-5.4.0-1047-xilinx-zynqmpUpgrade linux-image-5.4.0-1128-awsUpgrade linux-image-5.4.0-1088-bluefieldUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-5.15.0-1064-gcpUpgrade linux-image-6.8.0-1007-intelUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-raspi-nolpaeUpgrade linux-image-virtualUpgrade linux-image-gkeUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.15.0-1060-nvidia-lowlatencyUpgrade linux-image-gcpUpgrade linux-image-azure-cvmUpgrade linux-image-5.4.0-1112-raspiUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.4.0-189-genericUpgrade linux-image-5.15.0-1058-ibmUpgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-5.4.0-1127-oracleUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.4.0-1040-iotUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-5.4.0-1133-azureUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-oracleUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-kvmUpgrade linux-image-5.15.0-1060-nvidiaUpgrade linux-image-5.15.0-1065-gcpUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-awsUpgrade linux-image-bluefieldUpgrade linux-image-5.15.0-116-generic-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-oem-20.04Upgrade linux-image-oem | 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