netfilter: nfnetlink_log: wait for rcu grace period before freeing pernet state
- 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.15.222, 6.1.189, 6.6.158, 6.12.111, 6.18.53
- 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
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: nfnetlink_log: wait for rcu grace period before freeing pernet state sashiko reports: "nfnl_log_net_exit() calls nf_log_unset(), which clears the logger pointer without an RCU grace period. Immediately after, ops_free_list() frees the per-net state while concurrent packets might still be executing nf_log_packet() under rcu_read_lock()." Clear the pointer via .pre_exit to make sure rcu readers have completed before pernet storage is free'd. The change in nf_log_syslog.c is only done for consistency: it doesn't use pernet data.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From c83fa19603bdaeef17b815713dbbe3230c8a34ee · fixed in ba2e246aa294f9acd86194ea87fb6834ed0a37ac; From c83fa19603bdaeef17b815713dbbe3230c8a34ee · fixed in 5570d6c8b320dbcc602617ee08c27ce752fed65a; From c83fa19603bdaeef17b815713dbbe3230c8a34ee · fixed in 3b9aa62d78ce80de47af2db472ff452398755213; From c83fa19603bdaeef17b815713dbbe3230c8a34ee · fixed in f4461654374576e9d5d0245fd534c46ad8509051; From c83fa19603bdaeef17b815713dbbe3230c8a34ee · fixed in dc20050b6b12ca58066715d088e1a537535d938d; From c83fa19603bdaeef17b815713dbbe3230c8a34ee · fixed in 33d1469b0124cc0baaea7a2032123b77a81e0940
- Linux Linux
4.12
- KernelLinux
From 4.12.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53