PT-2026-61390 · Linux · Linux

CVE-2026-64073

·

Published

2026-07-19

·

Updated

2026-07-19

CVSS v3.1

7.8

High

VectorAV: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

CVE-2026-64073

Affected Products

Linux