CVE-2025-21919CWE-787

CVE-2025-21919

High · published April 1, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
13.3
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00232 · 13.3th percentile
Weakness
CWE-787 · Out-of-bounds Write
Published
2025-04-01T20:15Z
Affected products (10)
ProductVersionsFixed in
linux/linux_kernel≥ 5.13, < 5.15.1795.15.179
linux/linux_kernel≥ 5.16, < 6.1.1316.1.131
linux/linux_kernel≥ 6.2, < 6.6.836.6.83
linux/linux_kernel≥ 6.7, < 6.12.196.12.19
linux/linux_kernel≥ 6.13, < 6.13.76.13.7
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (9)
EPSS history
Timeline
  • 01 APR 15:40Z
    sched/fair: Fix potential memory corruption in child_cfs_rq_on_list
    cvelistv5