In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_tables: do not defer rule destruction via call_rcu
nf_tables_chain_destroy can sleep, it can't be used from call_rcu callbacks.
Moreover, nf_tables_rule_release() is only safe for error unwinding, while transaction mutex is held and the to-be-desroyed rule was not exposed to either dataplane or dumps, as it deactives+frees without the required synchronize_rcu() in-between.
nft_rule_expr_deactivate() callbacks will change ->use counters of other chains/sets, see e.g. nft_lookup .deactivate callback, these must be serialized via transaction mutex.
Also add a few lockdep asserts to make this more explicit.
Calling synchronize_rcu() isn't ideal, but fixing this without is hard and way more intrusive. As-is, we can get:
WARNING: .. net/netfilter/nf_tables_api.c:5515 nft_set_destroy+0x.. Workqueue: events nf_tables_trans_destroy_work RIP: 0010:nft_set_destroy+0x3fe/0x5c0 Call Trace: <TASK> nf_tables_trans_destroy_work+0x6b7/0xad0 process_one_work+0x64a/0xce0 worker_thread+0x613/0x10d0
In case the synchronize_rcu becomes an issue, we can explore alternatives.
One way would be to allocate nft_trans_rule objects + one nft_trans_chain object, deactivate the rules + the chain and then defer the freeing to the nft destroy workqueue. We'd still need to keep the synchronize_rcu path as a fallback to handle -ENOMEM corner cases though.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Jul 17, 2025 | Dec 27, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Dec 27, 2024 |
| Ubuntu | — | Upgrade linux-image-6.11.0-1017-oemUpgrade linux-image-azureUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-azure-fdeUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-gcp-64kUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-generic-64kUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-raspiUpgrade linux-image-genericUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-lowlatency-64kUpgrade linux-image-lowlatencyUpgrade linux-image-gcpUpgrade linux-image-oem-24.04bUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.11.0-1011-awsUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-oem-24.04aUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-oracle-64kUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-awsUpgrade linux-image-virtualUpgrade linux-image-realtimeUpgrade linux-image-oem-24.04Upgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-6.11.0-1010-raspi | Mar 28, 2025 | Dec 27, 2024 |
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