CVE-2026-64226: sched_ext: Avoid UAF in scx_root_enable_workfn() init failure path

Greg Kroah-Hartman <[email protected]> Fri, 24 Jul 2026 17:23:29 +0200
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026072417-CVE-2026-64226-590d@gregkh>
From: Greg Kroah-Hartman <[email protected]>

Description
===========

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

sched_ext: Avoid UAF in scx_root_enable_workfn() init failure path

In scx_root_enable_workfn(), put_task_struct(p) is called before scx_error()
dereferences p->comm and p->pid. If the iterator's reference is the last
drop, the task is freed synchronously and the deref becomes a UAF.

Move put_task_struct() past scx_error().

The Linux kernel CVE team has assigned CVE-2026-64226 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 6.12 with commit f0e1a0643a59bf1f922fa209cec86a170b784f3f and fixed in 6.12.92 with commit cf396941901858b0de426cdcd3974eea6a02c98c
	Issue introduced in 6.12 with commit f0e1a0643a59bf1f922fa209cec86a170b784f3f and fixed in 6.18.34 with commit 45c7c4e3db8b700307313c035ea08be829a7f21b
	Issue introduced in 6.12 with commit f0e1a0643a59bf1f922fa209cec86a170b784f3f and fixed in 7.0.11 with commit 57e19ba3f58a67eb924022a5a60b67fd08e5cbbd
	Issue introduced in 6.12 with commit f0e1a0643a59bf1f922fa209cec86a170b784f3f and fixed in 7.1 with commit 9a415cc53711f2238e0f0ca8a6bcc796c003b127

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-64226
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	kernel/sched/ext.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/cf396941901858b0de426cdcd3974eea6a02c98c
	https://git.kernel.org/stable/c/45c7c4e3db8b700307313c035ea08be829a7f21b
	https://git.kernel.org/stable/c/57e19ba3f58a67eb924022a5a60b67fd08e5cbbd
	https://git.kernel.org/stable/c/9a415cc53711f2238e0f0ca8a6bcc796c003b127