CVE-2023-52923

Summary

In the Linux kernel, the following vulnerability has been resolved:

netfilter: nf_tables: adapt set backend to use GC transaction API

Use the GC transaction API to replace the old and buggy gc API and the busy mark approach.

No set elements are removed from async garbage collection anymore, instead the _DEAD bit is set on so the set element is not visible from lookup path anymore. Async GC enqueues transaction work that might be aborted and retried later.

rbtree and pipapo set backends does not set on the _DEAD bit from the sync GC path since this runs in control plane path where mutex is held. In this case, set elements are deactivated, removed and then released via RCU callback, sync GC never fails.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux9d0982927e79049675cb6c6c04a0ebb3dad5a434 < cb4d00b563675ba8ff6ef94b077f58d816f68ba3affected
LinuxLinux9d0982927e79049675cb6c6c04a0ebb3dad5a434 < c357648929c8dff891502349769aafb8f0452bc2affected
LinuxLinux9d0982927e79049675cb6c6c04a0ebb3dad5a434 < 146c76866795553dbc19998f36718d7986ad302baffected
LinuxLinux9d0982927e79049675cb6c6c04a0ebb3dad5a434 < 479a2cf5259347d6a1f658b0f791d27a34908e91affected
LinuxLinux9d0982927e79049675cb6c6c04a0ebb3dad5a434 < df650d6a4bf47248261b61ef6b174d7c54034d15affected
LinuxLinux9d0982927e79049675cb6c6c04a0ebb3dad5a434 < e4d71d6a9c7db93f7bf20c3a0f0659d63d7de681affected
LinuxLinux9d0982927e79049675cb6c6c04a0ebb3dad5a434 < f6c383b8c31a93752a52697f8430a71dcbc46adfaffected
LinuxLinux4.1affected
LinuxLinux0 < 4.1unaffected
LinuxLinux4.19.316 <= 4.19.*unaffected
LinuxLinux5.4.262 <= 5.4.*unaffected
LinuxLinux5.10.198 <= 5.10.*unaffected
LinuxLinux5.15.134 <= 5.15.*unaffected
LinuxLinux6.1.56 <= 6.1.*unaffected
LinuxLinux6.4.11 <= 6.4.*unaffected
LinuxLinux6.5 <= *unaffected

Weaknesses

References