In the Linux kernel, the following vulnerability has been resolved:
netfilter: conntrack: serialize hash resizes and cleanups
Syzbot was able to trigger the following warning [1]
No repro found by syzbot yet but I was able to trigger similar issue by having 2 scripts running in parallel, changing conntrack hash sizes, and:
for j in `seq 1 1000` ; do unshare -n /bin/true >/dev/null ; done
It would take more than 5 minutes for net_namespace structures to be cleaned up.
This is because nf_ct_iterate_cleanup() has to restart everytime a resize happened.
By adding a mutex, we can serialize hash resizes and cleanups and also make get_next_corpse() faster by skipping over empty buckets.
Even without resizes in the picture, this patch considerably speeds up network namespace dismantles.
[1] INFO: task syz-executor.0:8312 can't die for more than 144 seconds. task:syz-executor.0 state:R running task stack:25672 pid: 8312 ppid: 6573 flags:0x00004006 Call Trace: context_switch kernel/sched/core.c:4955 [inline] __schedule+0x940/0x26f0 kernel/sched/core.c:6236 preempt_schedule_common+0x45/0xc0 kernel/sched/core.c:6408 preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:35 __local_bh_enable_ip+0x109/0x120 kernel/softirq.c:390 local_bh_enable include/linux/bottom_half.h:32 [inline] get_next_corpse net/netfilter/nf_conntrack_core.c:2252 [inline] nf_ct_iterate_cleanup+0x15a/0x450 net/netfilter/nf_conntrack_core.c:2275 nf_conntrack_cleanup_net_list+0x14c/0x4f0 net/netfilter/nf_conntrack_core.c:2469 ops_exit_list+0x10d/0x160 net/core/net_namespace.c:171 setup_net+0x639/0xa30 net/core/net_namespace.c:349 copy_net_ns+0x319/0x760 net/core/net_namespace.c:470 create_new_namespaces+0x3f6/0xb20 kernel/nsproxy.c:110 unshare_nsproxy_namespaces+0xc1/0x1f0 kernel/nsproxy.c:226 ksys_unshare+0x445/0x920 kernel/fork.c:3128 __do_sys_unshare kernel/fork.c:3202 [inline] __se_sys_unshare kernel/fork.c:3200 [inline] __x64_sys_unshare+0x2d/0x40 kernel/fork.c:3200 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f63da68e739 RSP: 002b:00007f63d7c05188 EFLAGS: 00000246 ORIG_RAX: 0000000000000110 RAX: ffffffffffffffda RBX: 00007f63da792f80 RCX: 00007f63da68e739 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000040000000 RBP: 00007f63da6e8cc4 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f63da792f80 R13: 00007fff50b75d3f R14: 00007f63d7c05300 R15: 0000000000022000
Showing all locks held in the system: 1 lock held by khungtaskd/27: #0: ffffffff8b980020 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6446 2 locks held by kworker/u4:2/153: #0: ffff888010c69138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff888010c69138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: arch_atomic_long_set include/linux/atomic/atomic-long.h:41 [inline] #0: ffff888010c69138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: atomic_long_set include/linux/atomic/atomic-instrumented.h:1198 [inline] #0: ffff888010c69138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:634 [inline] #0: ffff888010c69138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:661 [inline] #0: ffff888010c69138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x896/0x1690 kernel/workqueue.c:2268 #1: ffffc9000140fdb0 ((kfence_timer).work){+.+.}-{0:0}, at: process_one_work+0x8ca/0x1690 kernel/workqueue.c:2272 1 lock held by systemd-udevd/2970: 1 lock held by in:imklog/6258: #0: ffff88807f970ff0 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0xe9/0x100 fs/file.c:990 3 locks held by kworker/1:6/8158: 1 lock held by syz-executor.0/8312: 2 locks held by kworker/u4:13/9320: 1 lock held by ---truncated---
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-debug-kvmUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-docUpgrade python3-perfUpgrade kernel-rtUpgrade kernel-zfcpdump-modulesUpgrade kernel-abi-stablelistsUpgrade kernel-headersUpgrade kernel-rt-debug-develUpgrade kernel-zfcpdump-develUpgrade perfUpgrade kernel-tools-libs-develUpgrade bpftoolUpgrade kernel-debug-coreUpgrade kernelUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-develUpgrade kernel-debugUpgrade kernel-zfcpdumpUpgrade kernel-coreUpgrade kernel-tools-libsUpgrade kernel-modules-extraUpgrade kernel-rt-develUpgrade kernel-debug-develUpgrade kernel-debug-modulesUpgrade kernel-rt-modules-extraUpgrade kernel-cross-headersUpgrade kernel-modulesUpgrade kernel-rt-coreUpgrade kernel-rt-kvmUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debug | Aug 12, 2024 | May 21, 2024 |
| Amazon Linux Ami 2 | — | Upgrade bpftoolUpgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python-perfUpgrade perf-debuginfoUpgrade kernel-headersUpgrade kernel-tools-develUpgrade python-perf-debuginfoUpgrade kernel-livepatch-5.10.75-79.358Upgrade kernel-toolsUpgrade perf | Dec 12, 2024 | May 21, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-abi-stablelists | Oct 8, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-tools | Oct 8, 2024 | May 21, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | May 21, 2024 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | Aug 12, 2024 | May 21, 2024 |
| Rocky_linux | — | Upgrade bpftool-debuginfoUpgrade kernel-tools-libs-develUpgrade kernel-debug-debuginfoUpgrade kernel-debug-modules-extraUpgrade kernel-rt-modulesUpgrade kernel-rt-kvmUpgrade perf-debuginfoUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-rt-debugUpgrade kernel-rt-debug-modulesUpgrade kernel-rtUpgrade kernel-coreUpgrade kernel-modules-extraUpgrade kernel-toolsUpgrade kernel-rt-debuginfoUpgrade perfUpgrade kernel-develUpgrade kernel-modulesUpgrade kernel-rt-develUpgrade bpftoolUpgrade kernel-tools-debuginfoUpgrade kernel-debug-coreUpgrade kernel-rt-debug-kvmUpgrade kernel-debug-develUpgrade python3-perf-debuginfoUpgrade kernel-rt-debug-coreUpgrade kernel-debugUpgrade python3-perfUpgrade kernel-debug-modulesUpgrade kernel-rt-debug-debuginfoUpgrade kernel-tools-libsUpgrade kernel-debuginfoUpgrade kernelUpgrade kernel-rt-coreUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debug-develUpgrade kernel-cross-headersUpgrade kernel-rt-modules-extra | Aug 22, 2024 | May 21, 2024 |
| Suse | — | Upgrade cluster-md-kmp-defaultUpgrade kernel-devel-azureUpgrade kernel-azureUpgrade dtb-qcomUpgrade dtb-exynosUpgrade kernel-defaultUpgrade kernel-rt-develUpgrade dtb-armUpgrade kernel-source-vanillaUpgrade kernel-azure-develUpgrade dlm-kmp-rtUpgrade kernel-rt-livepatchUpgrade kernel-docsUpgrade kernel-default-base-rebuildUpgrade kernel-syms-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-azure-livepatch-develUpgrade gfs2-kmp-defaultUpgrade dtb-amlogicUpgrade kernel-64kb-extraUpgrade kernel-default-vdsoUpgrade dtb-alteraUpgrade kernel-debug-livepatch-develUpgrade kernel-macrosUpgrade dtb-rockchipUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debug-vdsoUpgrade cluster-md-kmp-rtUpgrade kernel-sourceUpgrade kernel-rt-vdsoUpgrade kernel-rtUpgrade dtb-sprdUpgrade kselftests-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade kernel-rt_debug-vdsoUpgrade dtb-nvidiaUpgrade kernel-default-optionalUpgrade kernel-rt-extraUpgrade kernel-azure-vdsoUpgrade reiserfs-kmp-azureUpgrade kernel-source-rtUpgrade kselftests-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-syms-rtUpgrade dlm-kmp-64kbUpgrade dlm-kmp-azureUpgrade kernel-kvmsmallUpgrade dtb-mediatekUpgrade kernel-rt-optionalUpgrade kernel-obs-buildUpgrade kernel-64kb-optionalUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-rtUpgrade kernel-64kbUpgrade kernel-obs-qaUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-hisiliconUpgrade kernel-kvmsmall-develUpgrade kernel-rt_debugUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-azure-extraUpgrade kernel-default-livepatchUpgrade dtb-apmUpgrade kernel-default-develUpgrade dtb-appleUpgrade dtb-amdUpgrade dtb-socionextUpgrade ocfs2-kmp-rtUpgrade kernel-debugUpgrade kernel-zfcpdumpUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade dtb-xilinxUpgrade kernel-develUpgrade ocfs2-kmp-64kbUpgrade dtb-freescaleUpgrade kernel-source-azureUpgrade ocfs2-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-rtUpgrade kernel-64kb-livepatch-develUpgrade kernel-64kb-develUpgrade kernel-devel-rtUpgrade dtb-amazonUpgrade kernel-default-extraUpgrade dtb-marvellUpgrade dtb-caviumUpgrade kernel-default-baseUpgrade kernel-debug-develUpgrade dtb-renesasUpgrade dtb-allwinnerUpgrade kernel-rt_debug-develUpgrade kernel-azure-optionalUpgrade kernel-docs-htmlUpgrade gfs2-kmp-azureUpgrade ocfs2-kmp-azureUpgrade gfs2-kmp-64kbUpgrade kernel-symsUpgrade dtb-lgUpgrade gfs2-kmp-rtUpgrade dtb-broadcom | Aug 9, 2024 | May 21, 2024 |
| Ubuntu | — | No solution existsUpgrade linux-azure-fde-5.15 | Jun 26, 2025 | May 21, 2024 |
Prioritize 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