In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_tables: restore set elements when delete set fails
From abort path, nft_mapelem_activate() needs to restore refcounters to the original state. Currently, it uses the set->ops->walk() to iterate over these set elements. The existing set iterator skips inactive elements in the next generation, this does not work from the abort path to restore the original state since it has to skip active elements instead (not inactive ones).
This patch moves the check for inactive elements to the set iterator callback, then it reverses the logic for the .activate case which needs to skip active elements.
Toggle next generation bit for elements when delete set command is invoked and call nft_clear() from .activate (abort) path to restore the next generation bit.
The splat below shows an object in mappings memleak:
[43929.457523] ------------[ cut here ]------------ [43929.457532] WARNING: CPU: 0 PID: 1139 at include/net/netfilter/nf_tables.h:1237 nft_setelem_data_deactivate+0xe4/0xf0 [nf_tables] [...] [43929.458014] RIP: 0010:nft_setelem_data_deactivate+0xe4/0xf0 [nf_tables] [43929.458076] Code: 83 f8 01 77 ab 49 8d 7c 24 08 e8 37 5e d0 de 49 8b 6c 24 08 48 8d 7d 50 e8 e9 5c d0 de 8b 45 50 8d 50 ff 89 55 50 85 c0 75 86 <0f> 0b eb 82 0f 0b eb b3 0f 1f 40 00 90 90 90 90 90 90 90 90 90 90 [43929.458081] RSP: 0018:ffff888140f9f4b0 EFLAGS: 00010246 [43929.458086] RAX: 0000000000000000 RBX: ffff8881434f5288 RCX: dffffc0000000000 [43929.458090] RDX: 00000000ffffffff RSI: ffffffffa26d28a7 RDI: ffff88810ecc9550 [43929.458093] RBP: ffff88810ecc9500 R08: 0000000000000001 R09: ffffed10281f3e8f [43929.458096] R10: 0000000000000003 R11: ffff0000ffff0000 R12: ffff8881434f52a0 [43929.458100] R13: ffff888140f9f5f4 R14: ffff888151c7a800 R15: 0000000000000002 [43929.458103] FS: 00007f0c687c4740(0000) GS:ffff888390800000(0000) knlGS:0000000000000000 [43929.458107] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [43929.458111] CR2: 00007f58dbe5b008 CR3: 0000000123602005 CR4: 00000000001706f0 [43929.458114] Call Trace: [43929.458118] <TASK> [43929.458121] ? __warn+0x9f/0x1a0 [43929.458127] ? nft_setelem_data_deactivate+0xe4/0xf0 [nf_tables] [43929.458188] ? report_bug+0x1b1/0x1e0 [43929.458196] ? handle_bug+0x3c/0x70 [43929.458200] ? exc_invalid_op+0x17/0x40 [43929.458211] ? nft_setelem_data_deactivate+0xd7/0xf0 [nf_tables] [43929.458271] ? nft_setelem_data_deactivate+0xe4/0xf0 [nf_tables] [43929.458332] nft_mapelem_deactivate+0x24/0x30 [nf_tables] [43929.458392] nft_rhash_walk+0xdd/0x180 [nf_tables] [43929.458453] ? __pfx_nft_rhash_walk+0x10/0x10 [nf_tables] [43929.458512] ? rb_insert_color+0x2e/0x280 [43929.458520] nft_map_deactivate+0xdc/0x1e0 [nf_tables] [43929.458582] ? __pfx_nft_map_deactivate+0x10/0x10 [nf_tables] [43929.458642] ? __pfx_nft_mapelem_deactivate+0x10/0x10 [nf_tables] [43929.458701] ? __rcu_read_unlock+0x46/0x70 [43929.458709] nft_delset+0xff/0x110 [nf_tables] [43929.458769] nft_flush_table+0x16f/0x460 [nf_tables] [43929.458830] nf_tables_deltable+0x501/0x580 [nf_tables]
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 |
|---|---|---|---|---|
| Debian | — | No solution existsUpgrade linuxUpgrade linux-6.1 | May 15, 2025 | May 1, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernelUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade bpftool | Oct 8, 2024 | May 1, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade bpftoolUpgrade python3-perf | Oct 8, 2024 | May 1, 2024 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Dec 5, 2024 | May 1, 2024 |
| Suse | — | Upgrade kernel-default-vdsoUpgrade kselftests-kmp-64kbUpgrade kernel-source-azureUpgrade dtb-amazonUpgrade kernel-azure-develUpgrade kernel-azure-extraUpgrade kernel-64kb-optionalUpgrade kernel-64kb-extraUpgrade dtb-freescaleUpgrade cluster-md-kmp-azureUpgrade gfs2-kmp-azureUpgrade kernel-syms-azureUpgrade dtb-sprdUpgrade kernel-rt_debugUpgrade kernel-azureUpgrade kernel-default-livepatchUpgrade dtb-marvellUpgrade kernel-docs-htmlUpgrade kernel-azure-optionalUpgrade gfs2-kmp-defaultUpgrade dtb-allwinnerUpgrade dtb-exynosUpgrade kselftests-kmp-azureUpgrade kernel-obs-buildUpgrade kernel-debug-vdsoUpgrade ocfs2-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade cluster-md-kmp-64kbUpgrade dlm-kmp-rtUpgrade ocfs2-kmp-azureUpgrade kernel-rt-vdsoUpgrade dtb-broadcomUpgrade dtb-alteraUpgrade kernel-kvmsmall-livepatch-develUpgrade dlm-kmp-64kbUpgrade kernel-kvmsmall-vdsoUpgrade kernel-source-vanillaUpgrade kernel-rt-extraUpgrade ocfs2-kmp-defaultUpgrade kernel-debug-develUpgrade kernel-sourceUpgrade kernel-64kbUpgrade kernel-source-rtUpgrade dtb-caviumUpgrade dtb-lgUpgrade dtb-amdUpgrade kernel-default-develUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-appleUpgrade kernel-zfcpdumpUpgrade kernel-syms-rtUpgrade kernel-rt-livepatch-develUpgrade kselftests-kmp-defaultUpgrade kernel-kvmsmallUpgrade kernel-default-base-rebuildUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-defaultUpgrade gfs2-kmp-64kbUpgrade kernel-defaultUpgrade dtb-hisiliconUpgrade kernel-symsUpgrade kernel-azure-livepatch-develUpgrade dtb-renesasUpgrade kernel-obs-qaUpgrade cluster-md-kmp-rtUpgrade kernel-64kb-develUpgrade kernel-kvmsmall-develUpgrade kernel-rtUpgrade dtb-qcomUpgrade dtb-xilinxUpgrade kernel-devel-azureUpgrade kernel-default-baseUpgrade kernel-default-extraUpgrade kselftests-kmp-rtUpgrade kernel-debugUpgrade dtb-nvidiaUpgrade dtb-apmUpgrade dlm-kmp-azureUpgrade kernel-docsUpgrade dtb-rockchipUpgrade dtb-mediatekUpgrade dtb-socionextUpgrade reiserfs-kmp-azureUpgrade ocfs2-kmp-rtUpgrade kernel-default-optionalUpgrade kernel-rt-develUpgrade gfs2-kmp-rtUpgrade kernel-macrosUpgrade kernel-debug-livepatch-develUpgrade kernel-azure-vdsoUpgrade kernel-64kb-livepatch-develUpgrade dtb-armUpgrade dtb-amlogicUpgrade kernel-rt_debug-vdsoUpgrade kernel-default-livepatch-develUpgrade kernel-develUpgrade reiserfs-kmp-rtUpgrade kernel-devel-rtUpgrade cluster-md-kmp-default | Aug 8, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-azure-lts-20.04Upgrade linux-image-5.4.0-1137-gcpUpgrade linux-image-5.15.0-1069-gcpUpgrade linux-image-6.8.0-1011-awsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-raspi-nolpaeUpgrade linux-image-oracleUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.4.0-1093-bluefieldUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-virtualUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-oemUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-azure-cvmUpgrade linux-image-5.4.0-1100-gkeopUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-5.4.0-1138-azureUpgrade linux-image-5.15.0-1067-kvmUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-5.4.0-1117-raspiUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-1053-gkeopUpgrade linux-image-kvmUpgrade linux-image-awsUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-5.4.0-1080-ibmUpgrade linux-image-5.4.0-1133-awsUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.0-1008-oemUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1070-awsUpgrade linux-image-5.15.0-122-generic-lpaeUpgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-generic-64kUpgrade linux-image-gcpUpgrade linux-image-ibm-classicUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-raspiUpgrade linux-image-oem-osp1Upgrade linux-image-gke-5.15Upgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-5.4.0-196-lowlatencyUpgrade linux-image-azure-lts-22.04Upgrade linux-image-oem-24.04Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-5.15.0-122-lowlatencyUpgrade linux-image-5.15.0-122-lowlatency-64kUpgrade linux-image-5.4.0-1132-oracleUpgrade linux-image-oem-24.04aUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.8.0-1007-intelUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-aws-lts-20.04Upgrade linux-image-gkeUpgrade linux-image-5.4.0-1044-iotUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-1036-xilinx-zynqmpUpgrade linux-image-gkeop-5.4Upgrade linux-image-azureUpgrade linux-image-genericUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-5.4.0-1121-kvmUpgrade linux-image-gkeopUpgrade linux-image-5.4.0-196-generic-lpaeUpgrade linux-image-5.15.0-1065-nvidia-lowlatencyUpgrade linux-image-oem-20.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-intel-iotgUpgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-122-genericUpgrade linux-image-5.15.0-1067-gkeUpgrade linux-image-oracle-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-122-generic-64kUpgrade linux-image-raspi2Upgrade linux-image-5.15.0-1065-intel-iotgUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-5.15.0-1063-ibmUpgrade linux-image-ibmUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1065-nvidiaUpgrade linux-image-5.15.0-1063-raspiUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-intelUpgrade linux-image-lowlatencyUpgrade linux-image-5.4.0-196-genericUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1073-azure-fdeUpgrade linux-image-5.4.0-1052-xilinx-zynqmpUpgrade linux-image-5.15.0-1073-azureUpgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-1068-oracleUpgrade linux-image-nvidia | Jul 12, 2024 | May 1, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 1, 2026 | May 1, 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