CVE-2025-39721CWE-416

CVE-2025-39721

Medium · published September 5, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
3.5
In the wild
Unconfirmed
What it is

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

crypto: qat - flush misc workqueue during device shutdown

Repeated loading and unloading of a device specific QAT driver, for

example qat_4xxx, in a tight loop can lead to a crash due to a

use-after-free scenario. This occurs when a power management (PM)

interrupt triggers just before the device-specific driver (e.g.,

qat_4xxx.ko) is unloaded, while the core driver (intel_qat.ko) remains

loaded.

Since the driver uses a shared workqueue (`qat_misc_wq`) across all

devices and owned by intel_qat.ko, a deferred routine from the

device-specific driver may still be pending in the queue. If this

routine executes after the driver is unloaded, it can dereference freed

memory, resulting in a page fault and kernel crash like the following:

BUG: unable to handle page fault for address: ffa000002e50a01c

#PF: supervisor read access in kernel mode

RIP: 0010:pm_bh_handler+0x1d2/0x250 [intel_qat]

Call Trace:

pm_bh_handler+0x1d2/0x250 [intel_qat]

process_one_work+0x171/0x340

worker_thread+0x277/0x3a0

kthread+0xf0/0x120

ret_from_fork+0x2d/0x50

To prevent this, flush the misc workqueue during device shutdown to

ensure that all pending work items are completed before the driver is

unloaded.

Note: This approach may slightly increase shutdown latency if the

workqueue contains jobs from other devices, but it ensures correctness

and stability.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00146 · 3.5th percentile
Weakness
CWE-416 · Use After Free
Published
2025-09-05T22:15Z
Affected products (3)
ProductVersionsFixed in
linux/linux_kernel≥ 5.18, < 6.6.1036.6.103
linux/linux_kernel≥ 6.7, < 6.12.446.12.44
linux/linux_kernel≥ 6.13, < 6.16.46.16.4
References (7)
EPSS history
Timeline
  • 05 SEP 17:21Z
    crypto: qat - flush misc workqueue during device shutdown
    cvelistv5