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

sched_ext: Take cgroup_lock() first in scx_cgroup_lock()

scx_cgroup_lock() write-locks scx_cgroup_ops_rwsem and then takes
cgroup_lock(), which can deadlock through kernfs:

scx enable/disable cgroup rmdir cpu.weight write
------------------ ------------ ----------------
cgroup_lock()
percpu_down_write(rwsem)
cgroup_lock()
kernfs_get_active()
percpu_down_read(rwsem)
kernfs_drain()

The enable path waits for the rmdir to release cgroup_mutex. The rmdir,
deactivating the cpu controller's files, waits in kernfs_drain() for the
write's active reference. The write, in scx_group_set_weight(), waits for
the rwsem behind the pending writer.

Take cgroup_lock() first. The set_* paths take no cgroup locks inside the
read side, so a pending write-lock then only waits for read sections that
always run to completion, and no dependency from the rwsem back to
cgroup_mutex remains.
Published: 2026-08-22
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service (Deadlock)
Action: Immediate Patch
AI Analysis

Impact

The vulnerability resides in the Linux kernel’s sched_ext CPU controller module and arises from incorrect lock ordering in the function scx_cgroup_lock(), illustrating a CWE‑833 Lock Order Vulnerability. The routine first acquires a write lock on scx_cgroup_ops_rwsem and then calls cgroup_lock(). When a thread removes a cgroup (rmdir) while another thread is writing to the cpu.weight file, a circular wait forms with the kernfs subsystem. The rmdir operation waits for the cgroup lock while the weight write is blocked on the rwsem, leading to a deadlock that stalls the scheduler. The result is a denial‑of‑service state in which the kernel cannot schedule new tasks until the deadlock is broken.

Affected Systems

Any Linux kernel that includes the sched_ext CPU controller and has not yet incorporated the lock‑ordering fix (commits 2ca6b43ef… or 5f8b69642…). This includes all mainstream kernel releases prior to those commits, regardless of distribution, as the vulnerability is tied to the kernel source rather than a specific vendor build.

Risk and Exploitability

The CVSS base score of 5.5 indicates moderate severity, while the EPSS score of less than 1 % suggests a low probability of exploitation in the wild. The issue is not listed in CISA’s KEV catalog. Because the deadlock is triggered by concurrent cgroup operations typically performed by a user with the necessary privileges (CAP_SYS_ADMIN), the likely attack vector is local. An attacker who can manipulate cgroup files could force the system into a scheduler stall, resulting in a denial of service for all users. The overall risk is moderate, but the low exploitation likelihood reduces urgency for environments that already have mitigation in place.

Generated by OpenCVE AI on August 26, 2026 at 03:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the lock‑ordering fix (commits 2ca6b43ef… or later).
  • If upgrading immediately is not possible, avoid performing cgroup removal (rmdir) while the CPU controller’s weight file is being modified; ensure only one of these operations occurs at a time.
  • Apply the patch manually by cherry‑patching the commit to a custom kernel build and rebooting into the patched kernel.

Generated by OpenCVE AI on August 26, 2026 at 03:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 25 Aug 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-395

Tue, 25 Aug 2026 12:15:00 +0000

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

None

cvssV3_1

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

threat_severity

Moderate


Sun, 23 Aug 2026 13:15:00 +0000


Sat, 22 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-395

Sat, 22 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: sched_ext: Take cgroup_lock() first in scx_cgroup_lock() scx_cgroup_lock() write-locks scx_cgroup_ops_rwsem and then takes cgroup_lock(), which can deadlock through kernfs: scx enable/disable cgroup rmdir cpu.weight write ------------------ ------------ ---------------- cgroup_lock() percpu_down_write(rwsem) cgroup_lock() kernfs_get_active() percpu_down_read(rwsem) kernfs_drain() The enable path waits for the rmdir to release cgroup_mutex. The rmdir, deactivating the cpu controller's files, waits in kernfs_drain() for the write's active reference. The write, in scx_group_set_weight(), waits for the rwsem behind the pending writer. Take cgroup_lock() first. The set_* paths take no cgroup locks inside the read side, so a pending write-lock then only waits for read sections that always run to completion, and no dependency from the rwsem back to cgroup_mutex remains.
Title sched_ext: Take cgroup_lock() first in scx_cgroup_lock()
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-23T12:47:36.437Z

Reserved: 2026-08-15T05:44:03.919Z

Link: CVE-2026-74593

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T16:16:31.573

Modified: 2026-08-23T13:16:45.993

Link: CVE-2026-74593

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-22T00:00:00Z

Links: CVE-2026-74593 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-26T03:45:03Z

Weaknesses