netfilter: ipset: fix performance regression in swap operation
- 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 5.4.269, 5.10.210, 5.15.149, 6.1.79, 6.6.18, and 1 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: ipset: fix performance regression in swap operation The patch "netfilter: ipset: fix race condition between swap/destroy and kernel side add/del/test", commit 28628fa9 fixes a race condition. But the synchronize_rcu() added to the swap function unnecessarily slows it down: it can safely be moved to destroy and use call_rcu() instead. Eric Dumazet pointed out that simply calling the destroy functions as rcu callback does not work: sets with timeout use garbage collectors which need cancelling at destroy which can wait. Therefore the destroy functions are split into two: cancelling garbage collectors safely at executing the command received by netlink and moving the remaining part only into the rcu callback.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 5.4.264 · fixed in 5.4.269; From 5.10.204 · fixed in 5.10.210; From 5.15.143 · fixed in 5.15.149; From 6.1.68 · fixed in 6.1.79; From 6.6.7 · fixed in 6.6.18; From 4.19.302 · fixed in 4.20
- Linux Linux
6.7
References 7
git.kernel.org
- stable/c/c7f2733e5011bfd136f1ca93497394d43aa76225
- stable/c/a24d5f2ac8ef702a58e55ec276aad29b4bd97e05
- stable/c/c2dc077d8f722a1c73a24e674f925602ee5ece49
- stable/c/653bc5e6d9995d7d5f497c665b321875a626161c
- stable/c/b93a6756a01f4fd2f329a39216f9824c56a66397
- stable/c/970709a67696b100a57b33af1a3d75fc34b747eb
- stable/c/97f7cf1cd80eeed3b7c808b7c12463295c751001