PT-2026-61390 · Linux · Linux
CVE-2026-64073
·
Published
2026-07-19
·
Updated
2026-07-19
CVSS v3.1
7.8
High
| Vector | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
In the Linux kernel, the following vulnerability has been resolved:
irq work: Fix use-after-free in irq work single() on PREEMPT RT
On PREEMPT RT, non-HARD irq work runs in per-CPU kthreads via
run irq workd(), so irq work sync() uses rcuwait() to wait for BUSY==0.
After irq work single() clears BUSY via atomic cmpxchg(), it still
dereferences @work for irq work is hard() and rcuwait wake up().
An irq work sync() caller on another CPU that enters after BUSY is cleared
can observe BUSY==0 immediately, return, and free the work before those
accesses complete — causing a use-after-free.
Fix this by wrapping run irq workd() in guard(rcu)() so that the entire
irq work single() execution is within an RCU read-side critical
section. Then add synchronize rcu() in irq work sync() after
rcuwait wait event() to ensure the caller waits for the RCU grace period
before returning, preventing premature frees.
Fix
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux