---
id: CVE-2025-21919
title: |-
  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 orig…
summary: |-
  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 orig…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-787
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 5.13, < 5.15.179'
  - 'linux_kernel >= 5.16, < 6.1.131'
  - 'linux_kernel >= 6.2, < 6.6.83'
  - 'linux_kernel >= 6.7, < 6.12.19'
  - 'linux_kernel >= 6.13, < 6.13.7'
  - linux_kernel = 6.14
patched:
  - linux_kernel 6.13.7
published: '2025-04-01'
updated: '2026-07-14'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-21919'
references:
  - url: 'https://git.kernel.org/stable/c/000c9ee43928f2ce68a156dd40bab7616256f4dd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/3b4035ddbfc8e4521f85569998a7569668cccf51'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5cb300dcdd27e6a351ac02541e0231261c775852'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/9cc7f0018609f75a349e42e3aebc3b0e905ba775'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b5741e4b9ef3567613b2351384f91d3f16e59986'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e1dd09df30ba86716cb2ffab97dc35195c01eb8f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-019113.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00228
epssPercentile: 0.12166
ingestedAt: '2026-07-14T13:36:56.052Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2025-10-01T19:23:59.713530Z'
---

## Overview

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.

## Affected

- `linux_kernel >= 5.13, < 5.15.179`
- `linux_kernel >= 5.16, < 6.1.131`
- `linux_kernel >= 6.2, < 6.6.83`
- `linux_kernel >= 6.7, < 6.12.19`
- `linux_kernel >= 6.13, < 6.13.7`
- `linux_kernel = 6.14`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.13.7`
