net/sched: act_api: release all action references on NEWACTION failure
- 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 6.6.160, 6.12.111, 6.18.53, 7.2.7
- 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: net/sched: act_api: release all action references on NEWACTION failure When a batched RTM_NEWACTION request replaces an existing action, tcf_idr_check_alloc() takes a temporary reference on it. If a later action fails to initialize, tcf_action_destroy() uses strict release semantics to clean up the actions initialized so far. For an action bound to a filter, the strict check returns -EPERM without dropping the temporary reference. This error also makes tcf_action_destroy() return before releasing subsequent entries. Any new action initialized between the bound action and the failing entry is leaked together with its reserved IDR slot, preventing reuse of its index. Use tcf_idr_release() to drop each reference held by the batch without rejecting bound actions. This allows cleanup to continue through all initialized entries and preserves the module reference release when an action is destroyed. Explicit action deletion and flushing retain their separate bind-count checks.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 55334a5db5cd32b207ac697cec3ec8e078f345d4 · fixed in 1b5730a1c7def8993b3feba764008d1ff5c9dcea; From 55334a5db5cd32b207ac697cec3ec8e078f345d4 · fixed in f908c8a969946a45225fd7f9d9a85771e12ae0a8; From 55334a5db5cd32b207ac697cec3ec8e078f345d4 · fixed in 64b36eaef6ea5ada9aea4c2cf87099aaa8a4869b; From 55334a5db5cd32b207ac697cec3ec8e078f345d4 · fixed in 048617743febf6530111cfb594e9bbbd7918bf67; From 55334a5db5cd32b207ac697cec3ec8e078f345d4 · fixed in 478eb5abb51931a152abab068f8a717b7ff480fd
- Linux Linux
3.15
- KernelLinux
From 3.15.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7