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

sched_ext: Fix use-after-free of a destroyed user DSQ by a deferred reenqueue

A deferred reenqueue can read a freed user DSQ. The request stays on its
CPU's deferred list until run_deferred() takes it, and the RCU callback that
frees the DSQ assumes that the grace period has flushed it, so exit_dsq()
checks the per-CPU node without the deferred list lock. A grace period waits
for readers in flight, not for a pending run_deferred(). A run_deferred()
which starts after the grace period began can detach the request right
before the callback looks and then read the freed DSQ's id.

Cancel the pending requests before the grace period instead. The irq work
that frees the DSQ unlinks every CPU's request under the per-CPU deferred
list lock, and schedule_dsq_reenq() ignores a new request under the same
lock once the id is invalid. Only a run_deferred() that started before the
grace period can hold a request, and it runs with IRQs disabled, so the
grace period waits for it and nothing touches the DSQ after the callback.
Published: 2026-10-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Kernel memory corruption
Action: Apply patch
AI Analysis

Impact

A use‑after‑free flaw exists in the Linux kernel's scheduling subsystem (sched_ext). A delegated re‑enqueue can read a DSQ that has already been freed, allowing the attacker to read or target stale memory that the kernel has released. The bug arises from a race between the RCU callback that frees the DSQ and a run_deferred() that resumes after the grace period has begun, causing the callback to access a freed structure instance. This memory corruption can destabilize the kernel or provide a foothold for more advanced exploitation if the attacker can influence the contents of the freed memory.

Affected Systems

The vulnerability affects all Linux kernel releases that contain the unpatched sched_ext implementation before the commit 069403dff337feb192bfc70fb28ddc8a171e20c1. Linux distributions shipping kernels from those versions are potentially impacted until the patch is applied.

Risk and Exploitability

The EPSS score is not available, and the vulnerability is not yet listed in the CISA KEV catalog, indicating no known public exploitation. Nonetheless, the nature of the race condition and the privileged context of the kernel suggest a high impact for an attacker who can trigger the deferred re‑enqueue path, which may lead to a system crash or provide a vector for privilege escalation. The likely attack vector is inferred to involve crafted interactions that cause the kernel to schedule a DSQ for a deferred re‑enqueue and then trigger the RCU callback before the grace period completes, resulting in a use‑after‑free.

Generated by OpenCVE AI on October 28, 2026 at 12:41 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel update that incorporates the use‑after‑free patch from commit 069403dff337feb192bfc70fb28ddc8a171e20c1.
  • Reboot the system to ensure all kernel components run under the fixed code path.
  • If an immediate kernel update is not feasible, upgrade to a distribution release that ships with a patched kernel before attempting to use the system further.

Generated by OpenCVE AI on October 28, 2026 at 12:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 13:45:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Wed, 28 Oct 2026 13:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 28 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: sched_ext: Fix use-after-free of a destroyed user DSQ by a deferred reenqueue A deferred reenqueue can read a freed user DSQ. The request stays on its CPU's deferred list until run_deferred() takes it, and the RCU callback that frees the DSQ assumes that the grace period has flushed it, so exit_dsq() checks the per-CPU node without the deferred list lock. A grace period waits for readers in flight, not for a pending run_deferred(). A run_deferred() which starts after the grace period began can detach the request right before the callback looks and then read the freed DSQ's id. Cancel the pending requests before the grace period instead. The irq work that frees the DSQ unlinks every CPU's request under the per-CPU deferred list lock, and schedule_dsq_reenq() ignores a new request under the same lock once the id is invalid. Only a run_deferred() that started before the grace period can hold a request, and it runs with IRQs disabled, so the grace period waits for it and nothing touches the DSQ after the callback.
Title sched_ext: Fix use-after-free of a destroyed user DSQ by a deferred reenqueue
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 Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-28T10:35:00.602Z

Reserved: 2026-09-25T10:25:14.395Z

Link: CVE-2026-99144

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T11:17:34.433

Modified: 2026-10-28T11:17:34.433

Link: CVE-2026-99144

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T13:30:20Z

Weaknesses