Vulnerability · Published May 19, 2024 · Assigned by Linux

CVE-2024-35899netfilter: nf_tables: flush pending destroy work before exit_net release

High 7.3

In plain English

A high-severity race condition in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 10% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.3High
Exploit odds (30 days)0.2%top 89.9% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: flush pending destroy work before exit_net release Similar to 2c9f0293280e ("netfilter: nf_tables: flush pending destroy work before netlink notifier") to address a race between exit_net and the destroy workqueue. The trace below shows an element to be released via destroy workqueue while exit_net path (triggered via module removal) has already released the set that is used in such transaction. [ 1360.547789] BUG: KASAN: slab-use-after-free in nf_tables_trans_destroy_work+0x3f5/0x590 [nf_tables] [ 1360.547861] Read of size 8 at addr ffff888140500cc0 by task kworker/4:1/152465 [ 1360.547870] CPU: 4 PID: 152465 Comm: kworker/4:1 Not tainted 6.8.0+ #359 [ 1360.547882] Workqueue: events nf_tables_trans_destroy_work [nf_tables] [ 1360.547984] Call Trace: [ 1360.547991] <TASK> [ 1360.547998] dump_stack_lvl+0x53/0x70 [ 1360.548014] print_report+0xc4/0x610 [ 1360.548026] ? __virt_addr_valid+0xba/0x160 [ 1360.548040] ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [ 1360.548054] ? nf_tables_trans_destroy_work+0x3f5/0x590 [nf_tables] [ 1360.548176] kasan_report+0xae/0xe0 [ 1360.548189] ? nf_tables_trans_destroy_work+0x3f5/0x590 [nf_tables] [ 1360.548312] nf_tables_trans_destroy_work+0x3f5/0x590 [nf_tables] [ 1360.548447] ? __pfx_nf_tables_trans_destroy_work+0x10/0x10 [nf_tables] [ 1360.548577] ? _raw_spin_unlock_irq+0x18/0x30 [ 1360.548591] process_one_work+0x2f1/0x670 [ 1360.548610] worker_thread+0x4d3/0x760 [ 1360.548627] ? __pfx_worker_thread+0x10/0x10 [ 1360.548640] kthread+0x16b/0x1b0 [ 1360.548653] ? __pfx_kthread+0x10/0x10 [ 1360.548665] ret_from_fork+0x2f/0x50 [ 1360.548679] ? __pfx_kthread+0x10/0x10 [ 1360.548690] ret_from_fork_asm+0x1a/0x30 [ 1360.548707] </TASK> [ 1360.548719] Allocated by task 192061: [ 1360.548726] kasan_save_stack+0x20/0x40 [ 1360.548739] kasan_save_track+0x14/0x30 [ 1360.548750] __kasan_kmalloc+0x8f/0xa0 [ 1360.548760] __kmalloc_node+0x1f1/0x450 [ 1360.548771] nf_tables_newset+0x10c7/0x1b50 [nf_tables] [ 1360.548883] nfnetlink_rcv_batch+0xbc4/0xdc0 [nfnetlink] [ 1360.548909] nfnetlink_rcv+0x1a8/0x1e0 [nfnetlink] [ 1360.548927] netlink_unicast+0x367/0x4f0 [ 1360.548935] netlink_sendmsg+0x34b/0x610 [ 1360.548944] ____sys_sendmsg+0x4d4/0x510 [ 1360.548953] ___sys_sendmsg+0xc9/0x120 [ 1360.548961] __sys_sendmsg+0xbe/0x140 [ 1360.548971] do_syscall_64+0x55/0x120 [ 1360.548982] entry_SYSCALL_64_after_hwframe+0x55/0x5d [ 1360.548994] Freed by task 192222: [ 1360.548999] kasan_save_stack+0x20/0x40 [ 1360.549009] kasan_save_track+0x14/0x30 [ 1360.549019] kasan_save_free_info+0x3b/0x60 [ 1360.549028] poison_slab_object+0x100/0x180 [ 1360.549036] __kasan_slab_free+0x14/0x30 [ 1360.549042] kfree+0xb6/0x260 [ 1360.549049] __nft_release_table+0x473/0x6a0 [nf_tables] [ 1360.549131] nf_tables_exit_net+0x170/0x240 [nf_tables] [ 1360.549221] ops_exit_list+0x50/0xa0 [ 1360.549229] free_exit_list+0x101/0x140 [ 1360.549236] unregister_pernet_operations+0x107/0x160 [ 1360.549245] unregister_pernet_subsys+0x1c/0x30 [ 1360.549254] nf_tables_module_exit+0x43/0x80 [nf_tables] [ 1360.549345] __do_sys_delete_module+0x253/0x370 [ 1360.549352] do_syscall_64+0x55/0x120 [ 1360.549360] entry_SYSCALL_64_after_hwframe+0x55/0x5d (gdb) list *__nft_release_table+0x473 0x1e033 is in __nft_release_table (net/netfilter/nf_tables_api.c:11354). 11349 list_for_each_entry_safe(flowtable, nf, &table->flowtables, list) { 11350 list_del(&flowtable->list); 11351 nft_use_dec(&table->use); 11352 nf_tables_flowtable_destroy(flowtable); 11353 } 11354 list_for_each_entry_safe(set, ns, &table->sets, list) { 11355 list_del(&set->list); 11356 nft_use_dec(&table->use); 11357 if (set->flags & (NFT_SET_MAP | NFT_SET_OBJECT)) 11358 nft_map_deactivat ---truncated---

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
AlmaLinux:9bpftool7.3.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-abi-stablelists5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-cross-headers5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-uki-virt5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-doc5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-headers5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-tools5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-tools-libs5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-tools-libs-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-uki-virt5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9libperf5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9perf5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9python3-perf5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9rtla5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9rv5.14.0-427.31.1.el9_4ALSA-2024:5363
Debian:12linux6.1.85-1DEBIAN-CVE-2024-35899
Debian:13linux6.8.9-1DEBIAN-CVE-2024-35899
Debian:14linux6.8.9-1DEBIAN-CVE-2024-35899
Rocky Linux:9kernel0:5.14.0-427.31.1.el9_4RLSA-2024:5363
Ubuntu:22.04:LTSlinux5.15.0-116.126UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux6.8.0-38.38UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-aws5.15.0-1065.71UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-aws6.8.0-1011.12UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1011.12~22.04.1UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-azure5.15.0-1068.77UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-azure6.8.0-1010.10UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1010.10~22.04.1UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1068.77.1UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-gcp5.15.0-1064.72UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-gcp6.8.0-1010.11UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-gke5.15.0-1062.68UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-gke6.8.0-1006.9UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1048.55UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-ibm5.15.0-1058.61UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-ibm6.8.0-1008.8UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-intel6.8.0-1007.14UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1060.66UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-kvm5.15.0-1062.67UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-116.126UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-38.38.1UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1060.61UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1009.9UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1009.9~22.04.1UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1026.26UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1015.15UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-oem-6.86.8.0-1008.8UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-oracle5.15.0-1063.69UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-oracle6.8.0-1008.8UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1008.8~22.04.1UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-raspi5.15.0-1058.61UBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-raspi6.8.0-1007.7UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2024-35899
Ubuntu:24.04:LTSlinux-riscv6.8.0-38.38.1UBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2024-35899
Ubuntu:22.04:LTSlinux-xilinx-zynqmp5.15.0-1035.39UBUNTU-CVE-2024-35899

Affected products (as reported)

VendorProductVersions
Linux Linux 0935d558840099b3679c67bb7468dc78fcbad940 – before f4e14695fe805eb0f0cb36e0ad6a560b9f985e860935d558840099b3679c67bb7468dc78fcbad940 – before 46c4481938e2ca62343b16ea83ab28f4c1733d310935d558840099b3679c67bb7468dc78fcbad940 – before f7e3c88cc2a977c2b9a8aa52c1ce689e7b394e490935d558840099b3679c67bb7468dc78fcbad940 – before 4e8447a9a3d367b5065a0b7abe101da6e0037b6e0935d558840099b3679c67bb7468dc78fcbad940 – before 333b5085522cf1898d5a0d92616046b414f631a70935d558840099b3679c67bb7468dc78fcbad940 – before d2c9eb19fc3b11caebafde4c30a76a49203d18a60935d558840099b3679c67bb7468dc78fcbad940 – before 24cea9677025e0de419989ecb692acd4bb34cac2
Linux Linux 4.20

Weakness: CWE-362 · Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H

References