CVE-2025-21919

sched/fair: Fix potential memory corruption in child_cfs_rq_on_list

State
Published
Severity
7.8 High
Published
Apr 1, 2025
Updated
Oct 15, 2026
Reserved
Dec 29, 2024

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • fdaba61ef8a268d4136d0a113d153f7a89eb9984 to before 5cb300dcdd27e6a351ac02541e0231261c775852Affected
  • fdaba61ef8a268d4136d0a113d153f7a89eb9984 to before 000c9ee43928f2ce68a156dd40bab7616256f4ddAffected
  • fdaba61ef8a268d4136d0a113d153f7a89eb9984 to before 9cc7f0018609f75a349e42e3aebc3b0e905ba775Affected
  • fdaba61ef8a268d4136d0a113d153f7a89eb9984 to before b5741e4b9ef3567613b2351384f91d3f16e59986Affected
  • fdaba61ef8a268d4136d0a113d153f7a89eb9984 to before e1dd09df30ba86716cb2ffab97dc35195c01eb8fAffected
  • fdaba61ef8a268d4136d0a113d153f7a89eb9984 to before 3b4035ddbfc8e4521f85569998a7569668cccf51Affected
LinuxLinux
  • 5.13Affected
  • before 5.13Not affected
  • 5.15.179 through 5.15.*Not affected
  • 6.1.131 through 6.1.*Not affected
  • 6.6.83 through 6.6.*Not affected
  • 6.12.19 through 6.12.*Not affected
  • 6.13.7 through 6.13.*Not affected
  • 6.14 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.