---
id: CVE-2025-39721
title: |-
  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 lea…
summary: |-
  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 lea…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-416
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 5.18, < 6.6.103'
  - 'linux_kernel >= 6.7, < 6.12.44'
  - 'linux_kernel >= 6.13, < 6.16.4'
patched:
  - linux_kernel 6.16.4
published: '2025-09-05'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T02:17:59.417'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-39721'
references:
  - url: 'https://git.kernel.org/stable/c/3d4df408ba9bad2b205c7fb8afc1836a6a4ca88a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5858448a6c65d8ee3f8600570d3ce19febcb33be'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e59a52e429e13df3feb34f4853a8e36d121ed937'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fa4c14a82747886d333d8baef0d26da86ba1ccf7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fe546f5c50fc474daca6bee72caa7ab68a74c33d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-019113.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-457936.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00146
epssPercentile: 0.03818
ingestedAt: '2026-09-08T15:33:26.997Z'
---

## Overview

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.

## Affected

- `linux_kernel >= 5.18, < 6.6.103`
- `linux_kernel >= 6.7, < 6.12.44`
- `linux_kernel >= 6.13, < 6.16.4`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.16.4`
