Skip to main content

Linux Kernel CVE-2026-53328

| EUVDEUVD-2026-40962 MEDIUM
2026-07-01 Linux GHSA-q89p-4x7p-f9v9
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.7 MEDIUM

Requires active sched_ext scheduler and a specific CSS lifecycle race, raising AC to H; local low-privileged access needed to load BPF scheduler.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 23, 2026 - 21:13 vuln.today
CVSS changed
Jul 23, 2026 - 21:07 NVD
5.5 (MEDIUM)
Patch available
Jul 01, 2026 - 15:16 EUVD
CVE Published
Jul 01, 2026 - 13:32 nvd
MEDIUM 5.5
CVE Published
Jul 01, 2026 - 13:32 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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

sched_ext: Don't warn on NULL cgrp_moving_from in scx_cgroup_move_task()

A WARN fires when systemd's user manager writes "+cpu +memory +pids" to its own subtree_control while a sched_ext scheduler is loaded:

WARNING: at kernel/sched/ext.c:3227 scx_cgroup_move_task+0xa8/0xb0 scx_cgroup_move_task+0xa8/0xb0 sched_move_task+0x134/0x290 cpu_cgroup_attach+0x39/0x70 cgroup_migrate_execute+0x37d/0x450 cgroup_update_dfl_csses+0x1e3/0x270 cgroup_subtree_control_write+0x3e7/0x440

scx_cgroup_can_attach() arms cgrp_moving_from only when a task's cpu cgroup changes. It can still be NULL when scx_cgroup_move_task() runs, through this sequence:

Step Result --------------------------------- ----------------------------------

  1. cpu enabled on cgroup G cpu css = A
  2. cpu toggled off then on for G A killed, B created (same cgroup)
  3. an exiting task keeps A alive migration skips it, A now stale
  4. +memory migrates G stale A vs current B pulls cpu in
  5. cpu attach runs for all tasks hits a live, cpu-unchanged task
  6. scx_cgroup_move_task() on it cgrp_moving_from NULL -> WARN

The mismatch is that scx_cgroup_can_attach() keys on cgroup identity while migration drives the move on css identity, so a NULL cgrp_moving_from here is a legitimate css-only migration, not a missing prep.

The call is already gated on cgrp_moving_from, so just drop the warning. ops.cgroup_prep_move() and ops.cgroup_move() stay paired.

AnalysisAI

Spurious WARN_ON in the Linux kernel's sched_ext cgroup migration path can trigger a kernel warning - and potentially a system panic when CONFIG_PANIC_ON_WARN is set - when systemd's user manager writes '+cpu +memory +pids' to its own subtree_control while a sched_ext BPF scheduler is loaded. The root cause is a mismatch between cgroup identity (used by scx_cgroup_can_attach) and CSS identity (used to drive migration), allowing scx_cgroup_move_task() to run against a task whose cgrp_moving_from was never initialized. No public exploit has been identified at time of analysis, and EPSS at 0.17% (6th percentile) confirms negligible exploitation interest.

Technical ContextAI

The sched_ext subsystem (introduced in Linux 6.12) exposes a BPF-based scheduler extension framework allowing custom schedulers to intercept task scheduling decisions. Cgroup integration in sched_ext relies on scx_cgroup_can_attach() to set the per-task cgrp_moving_from pointer when a task's cpu cgroup actually changes. The bug arises because cgroup migration is driven on CSS (cgroup subsystem state) identity rather than cgroup identity: if a CPU css is killed and recreated for the same cgroup (e.g., by toggling 'cpu' off then on), an exiting task can hold a reference to the stale css, causing a subsequent +memory migration to pull cpu into the move despite no actual cpu cgroup change. When scx_cgroup_move_task() is then called for a live, cpu-unchanged task, cgrp_moving_from is NULL. The existing NULL guard is present but a WARN_ON fires before the guard executes at ext.c:3227. CWE is not classified, though the pattern is closest to a logic error in state tracking. Affected CPEs cover the Linux kernel codebase broadly: cpe:2.3:a:linux:linux.

RemediationAI

Upgrade to a patched stable kernel release: Linux 6.12.94, 6.18.36, 7.0.13, or 7.1 (per the EUVD fix version data). The four upstream fix commits are available at kernel.org stable (see references) and should be present in vendor kernel packages for affected distributions once backported. As a compensating control on systems that cannot immediately patch, operators can unload any active sched_ext BPF scheduler (disabling sched_ext operation entirely), which removes the code path that triggers the WARN. A secondary mitigation for systems where sched_ext is required is ensuring CONFIG_PANIC_ON_WARN is not set in the kernel build - this downgrades the impact from a potential panic to a harmless dmesg warning, though it does not eliminate the WARN itself. Note that disabling panic-on-warn has broader implications for kernel integrity monitoring and should be evaluated against site security policy.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected

Share

CVE-2026-53328 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy