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 | — | Upgrade linux-6.1Upgrade linuxNo solution exists | May 15, 2025 | May 1, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernelUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade bpftool | Oct 8, 2024 | May 1, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade python3-perfUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade kernel | Oct 8, 2024 | May 1, 2024 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Dec 5, 2024 | May 1, 2024 |
| Suse | — | Upgrade dtb-nvidiaUpgrade kernel-default-baseUpgrade dtb-xilinxUpgrade kernel-debugUpgrade kernel-symsUpgrade dtb-rockchipUpgrade dtb-apmUpgrade kernel-devel-azureUpgrade cluster-md-kmp-defaultUpgrade dtb-hisiliconUpgrade reiserfs-kmp-defaultUpgrade kernel-azure-livepatch-develUpgrade kernel-64kb-develUpgrade dtb-amlogicUpgrade kernel-defaultUpgrade kernel-default-extraUpgrade kernel-docsUpgrade kernel-kvmsmallUpgrade kernel-kvmsmall-develUpgrade dtb-mediatekUpgrade kernel-default-optionalUpgrade kernel-develUpgrade kernel-rtUpgrade cluster-md-kmp-rtUpgrade dtb-qcomUpgrade dtb-socionextUpgrade kernel-rt-develUpgrade gfs2-kmp-rtUpgrade reiserfs-kmp-azureUpgrade kernel-default-livepatch-develUpgrade kernel-obs-qaUpgrade dlm-kmp-azureUpgrade ocfs2-kmp-rtUpgrade kselftests-kmp-rtUpgrade reiserfs-kmp-rtUpgrade kselftests-kmp-defaultUpgrade gfs2-kmp-64kbUpgrade kernel-debug-livepatch-develUpgrade kernel-default-base-rebuildUpgrade dlm-kmp-defaultUpgrade dtb-armUpgrade kernel-rt_debug-vdsoUpgrade kernel-syms-rtUpgrade kernel-zfcpdumpUpgrade kernel-64kb-livepatch-develUpgrade kernel-azure-extraUpgrade kernel-devel-rtUpgrade kernel-64kbUpgrade kernel-macrosUpgrade kernel-rt-vdsoUpgrade ocfs2-kmp-azureUpgrade kernel-rt-livepatch-develUpgrade dtb-renesasUpgrade kernel-debug-develUpgrade kernel-64kb-optionalUpgrade kernel-default-livepatchUpgrade dtb-marvellUpgrade kernel-azure-develUpgrade dtb-amazonUpgrade kernel-source-azureUpgrade dlm-kmp-rtUpgrade dtb-appleUpgrade kernel-debug-vdsoUpgrade dtb-exynosUpgrade dtb-broadcomUpgrade kernel-obs-buildUpgrade kernel-azureUpgrade kernel-azure-vdsoUpgrade kernel-syms-azureUpgrade kernel-azure-optionalUpgrade gfs2-kmp-defaultUpgrade kernel-rt-optionalUpgrade dtb-sprdUpgrade kernel-rt_debugUpgrade gfs2-kmp-azureUpgrade cluster-md-kmp-azureUpgrade kselftests-kmp-azureUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-docs-htmlUpgrade kernel-default-develUpgrade kernel-default-vdsoUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade dtb-freescaleUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kernel-64kb-extraUpgrade dtb-allwinnerUpgrade dtb-amdUpgrade kernel-source-rtUpgrade kernel-sourceUpgrade dtb-lgUpgrade dtb-caviumUpgrade kernel-rt-extraUpgrade dlm-kmp-64kbUpgrade kernel-kvmsmall-vdsoUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-alteraUpgrade ocfs2-kmp-defaultUpgrade kernel-source-vanillaUpgrade kernel-rt_debug-devel | Aug 8, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-oemUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-awsUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-5.4.0-1080-ibmUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-azure-lts-20.04Upgrade linux-image-6.8.0-1011-awsUpgrade linux-image-bluefieldUpgrade linux-image-5.4.0-1100-gkeopUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.15.0-1053-gkeopUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-kvmUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-oracleUpgrade linux-image-5.4.0-1133-awsUpgrade linux-image-azure-cvmUpgrade linux-image-raspi-nolpaeUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.15.0-1069-gcpUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-5.15.0-1070-awsUpgrade linux-image-azure-fdeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.4.0-1137-gcpUpgrade linux-image-5.4.0-1093-bluefieldUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1067-kvmUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-5.4.0-1117-raspiUpgrade linux-image-5.15.0-122-generic-lpaeUpgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.4.0-1138-azureUpgrade linux-image-virtualUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oem-20.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-5.15.0-1036-xilinx-zynqmpUpgrade linux-image-gkeopUpgrade linux-image-azure-lts-22.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-oem-osp1Upgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1007-intelUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.4.0-1044-iotUpgrade linux-image-nvidiaUpgrade linux-image-5.15.0-1068-oracleUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-gcpUpgrade linux-image-5.4.0-196-lowlatencyUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-gke-5.15Upgrade linux-image-ibm-classicUpgrade linux-image-raspiUpgrade linux-image-5.15.0-1063-raspiUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-122-generic-64kUpgrade linux-image-5.15.0-1067-gkeUpgrade linux-image-5.15.0-1063-ibmUpgrade linux-image-raspi2Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.4.0-196-genericUpgrade linux-image-5.15.0-1065-intel-iotgUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-intel-iotgUpgrade linux-image-intelUpgrade linux-image-generic-64kUpgrade linux-image-oem-24.04Upgrade linux-image-5.15.0-122-lowlatencyUpgrade linux-image-5.15.0-122-lowlatency-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1065-nvidiaUpgrade linux-image-5.4.0-1132-oracleUpgrade linux-image-genericUpgrade linux-image-5.15.0-122-genericUpgrade linux-image-oracle-64kUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-lowlatencyUpgrade linux-image-lowlatency-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-azureUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-gkeUpgrade linux-image-gkeop-5.4Upgrade linux-image-gkeop-5.15Upgrade linux-image-5.4.0-1052-xilinx-zynqmpUpgrade linux-image-5.15.0-1073-azure-fdeUpgrade linux-image-5.15.0-1073-azureUpgrade linux-image-oem-20.04dUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.15.0-1065-nvidia-lowlatencyUpgrade linux-image-5.4.0-1121-kvmUpgrade linux-image-5.4.0-196-generic-lpaeUpgrade linux-image-6.8.0-1010-azure | 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