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