CVE-2026-64103CWE-416

CVE-2026-64103

High · published July 19, 2026

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

In the Linux kernel, the following vulnerability has been resolved:

scsi: isci: Fix use-after-free in device removal path

The ISCI completion tasklet is initialized in isci_host_alloc()

(drivers/scsi/isci/init.c:496) and scheduled from both MSI-X and legacy

interrupt handlers (drivers/scsi/isci/host.c:223,613).

isci_host_deinit() stops the controller and waits for stop completion,

but it never kills completion_tasklet before teardown continues. A

top-of-function tasklet_kill() is not sufficient here: interrupts are

only disabled when isci_host_stop_complete() runs, so until

wait_for_stop() returns the IRQ handlers can still requeue the

tasklet. The tasklet callback also re-enables interrupts after draining

completions, so killing the tasklet before the source is quiesced leaves

the same race open.

Once wait_for_stop() returns, no further IRQ-driven scheduling can

occur. Kill completion_tasklet there so teardown cannot race a queued

tasklet running on a dead ihost. On remove or unload, the stale callback

can otherwise dereference ihost and touch ihost->smu_registers after the

host lifetime ends.

A UML + KASAN analogue reproduced the failure class both with no

tasklet_kill() and with tasklet_kill() placed before source quiesce, and

stayed clean once the kill happened after quiescing the scheduling

source.

This mirrors commit f6ab594672d4 ("scsi: aic94xx: fix use-after-free in

device removal path"), but ISCI needs the kill after wait_for_stop().

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.00126 · 2.1th percentile
Weakness
CWE-416 · Use After Free
Published
2026-07-19T20:17Z
Affected products (14)
ProductVersionsFixed in
linux/linux_kernel≥ 3.0.1, < 5.10.2585.10.258
linux/linux_kernel≥ 5.11, < 5.15.2095.15.209
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—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (8)
EPSS history
Timeline
  • 19 JUL 15:40Z
    scsi: isci: Fix use-after-free in device removal path
    cvelistv5