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

pds_core: fix use-after-free on workqueue during remove

In pdsc_remove(), the workqueue is destroyed before pdsc_teardown()
is called. This ordering allows two paths to queue work on the
destroyed workqueue:

1. If pdsc_teardown() -> pdsc_devcmd_reset() times out, the error
path in pdsc_devcmd_locked() queues health_work.

2. A NotifyQ event can trigger the ISR and queue work before free_irq()
is called in pdsc_teardown().

Fix by moving destroy_workqueue() after pdsc_teardown() so the
workqueue outlives every queuer; destroy_workqueue() then flushes any
work still pending.

Draining the queued work also requires ordering the teardown so the
resources that work touches are freed last:

- In pdsc_qcq_free(), after freeing the interrupt, cancel_work_sync()
the queue's work and only then clear qcq->intx, so
pdsc_process_adminq()'s read of qcq->intx for interrupt-credit
return cannot race with the clear.

- Free adminqcq before notifyqcq: the shared adminq ISR is released
when adminqcq is freed, and the adminq work accesses notifyqcq, so
both must be stopped before notifyqcq is freed.
Published: 2026-08-10
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The kernel contains a use‑after‑free bug where the workqueue belonging to pds_core is destroyed before pdsc_teardown() finishes. This allows queued work to execute on a freed data structure, giving an attacker the ability to trigger arbitrary code paths or crash the system. The weakness is a classic use‑after‑free race that can compromise confidentiality, integrity, and availability if an attacker can trigger the race conditions described in the description.

Affected Systems

All Linux kernel builds that include the pds_core driver and have not been updated to the commit that fixes the ordering of workqueue destruction and teardown. The affected code resides in the Linux kernel source under pds_core; any custom kernel builds or distributions with older kernel versions are potential targets.

Risk and Exploitability

The CVSS base score is 5.5, indicating moderate severity. The EPSS score is < 1%, suggesting a very low but nonzero probability of exploitation. The vulnerability is not listed in CISA KEV, indicating no known public exploits. Inference suggests that a privileged user or a malicious network attacker that can trigger the specific timing conditions described in the description could exploit the flaw, especially if the system interacts with devices managed by pds_core. The lack of existing exploits does not mitigate the underlying risk; the ordering bug remains a potential vector for code execution within the kernel space.

Generated by OpenCVE AI on August 13, 2026 at 04:13 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a release that includes the fix for the pds_core workqueue ordering bug
  • If running a custom or older kernel, apply the specific commit that moves destroy_workqueue() after pdsc_teardown() and reorders resource freeing around queued work
  • After updating, perform kernel stability tests that exercise pds_core teardown paths to ensure the race condition has been fully eliminated

Generated by OpenCVE AI on August 13, 2026 at 04:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
History

Wed, 12 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H'}

threat_severity

Important


Mon, 10 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: pds_core: fix use-after-free on workqueue during remove In pdsc_remove(), the workqueue is destroyed before pdsc_teardown() is called. This ordering allows two paths to queue work on the destroyed workqueue: 1. If pdsc_teardown() -> pdsc_devcmd_reset() times out, the error path in pdsc_devcmd_locked() queues health_work. 2. A NotifyQ event can trigger the ISR and queue work before free_irq() is called in pdsc_teardown(). Fix by moving destroy_workqueue() after pdsc_teardown() so the workqueue outlives every queuer; destroy_workqueue() then flushes any work still pending. Draining the queued work also requires ordering the teardown so the resources that work touches are freed last: - In pdsc_qcq_free(), after freeing the interrupt, cancel_work_sync() the queue's work and only then clear qcq->intx, so pdsc_process_adminq()'s read of qcq->intx for interrupt-credit return cannot race with the clear. - Free adminqcq before notifyqcq: the shared adminq ISR is released when adminqcq is freed, and the adminq work accesses notifyqcq, so both must be stopped before notifyqcq is freed.
Title pds_core: fix use-after-free on workqueue during remove
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:03:15.551Z

Reserved: 2026-07-30T09:28:09.382Z

Link: CVE-2026-68318

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:21.813

Modified: 2026-08-17T05:18:34.727

Link: CVE-2026-68318

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-10T12:02:53Z

Links: CVE-2026-68318 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T04:15:02Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference