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