net: sched: fix use-after-free in taprio_change()
- 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.285, 5.10.229, 5.15.170, 6.1.115, 6.6.59, 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: total
Summary
In the Linux kernel, the following vulnerability has been resolved: net: sched: fix use-after-free in taprio_change() In 'taprio_change()', 'admin' pointer may become dangling due to sched switch / removal caused by 'advance_sched()', and critical section protected by 'q->current_entry_lock' is too small to prevent from such a scenario (which causes use-after-free detected by KASAN). Fix this by prefer 'rcu_replace_pointer()' over 'rcu_assign_pointer()' to update 'admin' immediately before an attempt to schedule freeing.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From a3d43c0d56f1b94e74963a2fbadfb70126d92213 · fixed in 2f868ce6013548a713c431c679ef73747a66fcf3; From a3d43c0d56f1b94e74963a2fbadfb70126d92213 · fixed in 8a283a19026aaae8a773fd8061263cfa315b127f; From a3d43c0d56f1b94e74963a2fbadfb70126d92213 · fixed in 999612996df28d81f163dad530d7f8026e03aec6; From a3d43c0d56f1b94e74963a2fbadfb70126d92213 · fixed in fe371f084073e8672a2d7d46b335c3c060d1e301; From a3d43c0d56f1b94e74963a2fbadfb70126d92213 · fixed in 0d4c0d2844e4eac3aed647f948fd7e60eea56a61; From a3d43c0d56f1b94e74963a2fbadfb70126d92213 · fixed in 2240f9376f20f8b6463232b4ca7292569217237f; From a3d43c0d56f1b94e74963a2fbadfb70126d92213 · fixed in f504465970aebb2467da548f7c1efbbf36d0f44b
- Linux Linux
5.2
- KernelLinux
From 5.2.0 · fixed in 5.4.285; From 5.5.0 · fixed in 5.10.229; From 5.11.0 · fixed in 5.15.170; From 5.16.0 · fixed in 6.1.115; From 6.2.0 · fixed in 6.6.59; From 6.7.0 · fixed in 6.11.6
References 7
git.kernel.org
- stable/c/2f868ce6013548a713c431c679ef73747a66fcf3
- stable/c/8a283a19026aaae8a773fd8061263cfa315b127f
- stable/c/999612996df28d81f163dad530d7f8026e03aec6
- stable/c/fe371f084073e8672a2d7d46b335c3c060d1e301
- stable/c/0d4c0d2844e4eac3aed647f948fd7e60eea56a61
- stable/c/2240f9376f20f8b6463232b4ca7292569217237f
- stable/c/f504465970aebb2467da548f7c1efbbf36d0f44b