CVE-2026-64073CWE-416

CVE-2026-64073

High · published July 19, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.5
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00132 · 2.5th percentile
Weakness
CWE-416 · Use After Free
Published
2026-07-19T20:17Z
Affected products (8)
ProductVersionsFixed in
linux/linux_kernel≥ 5.16, < 6.1.1756.1.175
linux/linux_kernel≥ 6.2, < 6.6.1426.6.142
linux/linux_kernel≥ 6.7, < 6.12.926.12.92
linux/linux_kernel≥ 6.13, < 6.18.346.18.34
linux/linux_kernel≥ 6.19, < 7.0.117.0.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (6)
EPSS history
Timeline
  • 19 JUL 15:39Z
    irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT
    cvelistv5