netfilter: nf_tables: use timestamp to check for set element timeout
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 4.19.320, 5.4.282, 5.10.224, 5.15.165, 6.1.97, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: use timestamp to check for set element timeout Add a timestamp field at the beginning of the transaction, store it in the nftables per-netns area. Update set backend .insert, .deactivate and sync gc path to use the timestamp, this avoids that an element expires while control plane transaction is still unfinished. .lookup and .update, which are used from packet path, still use the current time to check if the element has expired. And .get path and dump also since this runs lockless under rcu read size lock. Then, there is async gc which also needs to check the current time since it runs asynchronously from a workqueue.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From c3e1b005ed1cc068fc9d454a6e745830d55d251d · fixed in f8dfda798650241c1692058713ca4fef8e429061; From c3e1b005ed1cc068fc9d454a6e745830d55d251d · fixed in eaf1a29ea5d7dba8e84e9e9f3b3f47d0cd540bfe; From c3e1b005ed1cc068fc9d454a6e745830d55d251d · fixed in 7b17de2a71e56c10335b565cc7ad238e6d984379; From c3e1b005ed1cc068fc9d454a6e745830d55d251d · fixed in 0d40e8cb1d1f56a994cdd2e015af622fdca9ed4d; From c3e1b005ed1cc068fc9d454a6e745830d55d251d · fixed in b45176b869673417ace338b87cf9cdb66e2eeb01; From c3e1b005ed1cc068fc9d454a6e745830d55d251d · fixed in 7fa2e2960fff8322ce2ded57b5f8e9cbc450b967; From c3e1b005ed1cc068fc9d454a6e745830d55d251d · fixed in 383182db8d58c4237772ba0764cded4938a235c3; From c3e1b005ed1cc068fc9d454a6e745830d55d251d · fixed in 7395dfacfff65e9938ac0889dafa1ab01e987d15
- Linux Linux
4.1
- KernelLinux
From 4.1.0 · fixed in 4.19.320; From 4.20.0 · fixed in 5.4.282; From 5.5.0 · fixed in 5.10.224; From 5.11.0 · fixed in 5.15.165; From 5.16.0 · fixed in 6.1.97; From 6.2.0 · fixed in 6.6.84; From 6.7.0 · fixed in 6.7.5
References 8
git.kernel.org
- stable/c/f8dfda798650241c1692058713ca4fef8e429061
- stable/c/eaf1a29ea5d7dba8e84e9e9f3b3f47d0cd540bfe
- stable/c/7b17de2a71e56c10335b565cc7ad238e6d984379
- stable/c/0d40e8cb1d1f56a994cdd2e015af622fdca9ed4d
- stable/c/b45176b869673417ace338b87cf9cdb66e2eeb01
- stable/c/7fa2e2960fff8322ce2ded57b5f8e9cbc450b967
- stable/c/383182db8d58c4237772ba0764cded4938a235c3
- stable/c/7395dfacfff65e9938ac0889dafa1ab01e987d15