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