CVE-2025-21919: sched/fair: Fix potential memory corruption in child_cfs_rq_on_list
In the Linux kernel, the following vulnerability has been resolved:
sched/fair: Fix potential memory corruption in child_cfs_rq_on_list
child_cfs_rq_on_list attempts to convert a 'prev' pointer to a cfs_rq.
This 'prev' pointer can originate from struct rq's leaf_cfs_rq_list,
making the conversion invalid and potentially leading to memory
corruption. Depending on the relative positions of leaf_cfs_rq_list and
the task group (tg) pointer within the struct, this can cause a memory
fault or access garbage data.
The issue arises in list_add_leaf_cfs_rq, where both
cfs_rq->leaf_cfs_rq_list and rq->leaf_cfs_rq_list are added to the same
leaf list. Also, rq->tmp_alone_branch can be set to rq->leaf_cfs_rq_list.
This adds a check `if (prev == &rq->leaf_cfs_rq_list)` after the main
conditional in child_cfs_rq_on_list. This ensures that the container_of
operation will convert a correct cfs_rq struct.
This check is sufficient because only cfs_rqs on the same CPU are added
to the list, so verifying the 'prev' pointer against the current rq's list
head is enough.
Fixes a potential memory corruption issue that due to current struct
layout might not be manifesting as a crash but could lead to unpredictable
behavior when the layout changes.
Security readout for executives and security teams
Plain-English summary
A flaw in the Linux CPU scheduler can corrupt kernel memory when handling scheduling-group lists. A local, low-privileged user could potentially trigger severe confidentiality, integrity, or availability impact without user interaction. The supplied evidence does not establish remote reachability or real-world exploitation.
Executive priority
Treat this as a high-priority kernel maintenance issue, especially for shared or multi-user systems. It is not presented as remotely exploitable or actively exploited, so prioritize using local-access exposure and asset criticality. Use accelerated patching where untrusted local execution is possible; otherwise include it in the next controlled kernel update cycle.
Technical view
child_cfs_rq_on_list could apply container_of to a prev pointer originating from rq->leaf_cfs_rq_list rather than a valid cfs_rq. The resulting invalid conversion may fault or access garbage memory. The kernel fix checks for the runqueue list head before conversion. The issue is classified as CWE-787 with CVSS 3.1 score 7.8.
Likely exposure
Exposure is most likely on systems running an affected Linux kernel where an untrusted or compromised low-privileged account can execute locally. The supplied version data names releases from 5.13 through 6.14 but does not clearly express all fixed-version boundaries; confirm applicability through the distribution or product vendor.
Exploitation context
The CVSS vector indicates local access, low privileges, low complexity, no user interaction, and potentially high system-wide impact. The source bundle marks the CVE as absent from KEV and provides no evidence of active exploitation or a public exploit. Practical exploitability is not established by these sources.
Researcher notes
The defect concerns mixed list-head and cfs_rq entries in scheduler fair-class bookkeeping. Current structure layout may mask crashes, but layout changes could produce faults or unpredictable memory access. The supplied affected-version representation is ambiguous and repeats the introducing commit, so authoritative vendor range analysis remains necessary. No exploitability demonstration is provided.
Mitigation direction
Install a vendor-supported kernel containing the applicable upstream stable fix.
Review Debian or appliance-vendor advisories for product-specific fixed package versions.
Prioritize multi-user systems and hosts allowing untrusted local code execution.
If patching is delayed, reduce unnecessary local accounts and restrict untrusted workload execution.
Validation and detection
Inventory running kernel versions and compare them with vendor advisories.
Confirm the installed kernel package includes the applicable stable fix commit.
Reboot patched systems and verify the fixed kernel is actually running.
Check whether untrusted users or workloads can execute code locally on exposed hosts.
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.
cwe · low confidence lookup
CWE-787: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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.
2CVSS vectors
3Timeline events
3ADP providers
9Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-787 · source CWE mapping
Out-of-bounds Write
Out-of-bounds Write represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.