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