LiveActive security incident?Get immediate response
CVE Record

CVE-2025-21897: sched_ext: Fix pick_task_scx() picking non-queued tasks when it's called without balance()

In the Linux kernel, the following vulnerability has been resolved: sched_ext: Fix pick_task_scx() picking non-queued tasks when it's called without balance() a6250aa251ea ("sched_ext: Handle cases where pick_task_scx() is called without preceding balance_scx()") added a workaround to handle the cases where pick_task_scx() is called without prececing balance_scx() which is due to a fair class bug where pick_taks_fair() may return NULL after a true return from balance_fair(). The workaround detects when pick_task_scx() is called without preceding balance_scx() and emulates SCX_RQ_BAL_KEEP and triggers kicking to avoid stalling. Unfortunately, the workaround code was testing whether @prev was on SCX to decide whether to keep the task running. This is incorrect as the task may be on SCX but no longer runnable. This could lead to a non-runnable task to be returned from pick_task_scx() which cause interesting confusions and failures. e.g. A common failure mode is the task ending up with (!on_rq && on_cpu) state which can cause potential wakers to busy loop, which can easily lead to deadlocks. Fix it by testing whether @prev has SCX_TASK_QUEUED set. This makes @prev_on_scx only used in one place. Open code the usage and improve the comment while at it.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysisunknown

Security readout for executives and security teams

Plain-English summary

CVE-2025-21897 is a Linux kernel scheduler bug in sched_ext. Under specific scheduling paths, the kernel could select a task that is no longer runnable, causing confused task state and potential deadlocks. Business impact is primarily availability risk for systems running affected Linux versions. The source bundle does not provide CVSS, attack vector, or exploitation evidence.

Executive priority

Treat as a targeted availability-risk review, not an emergency internet-wide exposure based on current evidence. Prioritize affected Linux fleets where sched_ext is enabled or where kernel deadlocks would disrupt critical services. Patch through normal kernel maintenance once vendor-fixed builds are available.

Technical view

pick_task_scx() could be called without a preceding balance_scx() and incorrectly kept the previous task based on SCX membership rather than SCX_TASK_QUEUED. That could return a non-runnable task, producing states such as !on_rq with on_cpu and causing wakers to busy loop. Stable kernel commits change the test to require queued state.

Likely exposure

Exposure appears limited to Linux systems with affected kernel builds containing the sched_ext regression. The bundle lists Linux 6.12, 6.12.18, 6.13.6, and 6.14-related version data, but does not clarify distribution backports or configuration prerequisites.

Exploitation context

The source bundle does not state active exploitation, public proof of concept, or inclusion in CISA KEV. The described failure mode is reliability-oriented: scheduler confusion, busy-looping wakers, and deadlocks. No remote attack path is documented in the provided sources.

Researcher notes

Key uncertainty is practical reachability: the bundle explains an internal scheduler bug but not attacker control, privilege boundary, or required configuration. Validation should focus on affected kernel lineage, sched_ext usage, and whether downstream vendors backported the stable fix under different version numbers.

Mitigation direction

  • Check vendor kernel advisories for your distribution or appliance platform.
  • Update to a kernel build containing the referenced stable fixes.
  • Prioritize systems using experimental or custom sched_ext scheduling behavior.
  • If patching is delayed, review vendor guidance for safe sched_ext configuration changes.

Validation and detection

  • Inventory Linux kernel versions across servers, images, and appliances.
  • Identify workloads using sched_ext or custom scheduler extensions.
  • Compare deployed kernels against vendor-fixed releases or referenced stable commits.
  • Review availability incidents for deadlocks or scheduler-related stalls after kernel upgrades.
Prepared
Confidence
medium
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2025-21897 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
0ADP providers
4Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinuxa6250aa251eacaf3ebfcfe152a96a727fd483ecd, a6250aa251eacaf3ebfcfe152a96a727fd483ecd, a6250aa251eacaf3ebfcfe152a96a727fd483ecdunaffected
LinuxLinux6.12, 0, 6.12.18, 6.13.6, 6.14affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.