UBUNTU-CVE-2025-21919
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.
02 / AFFECTED SOFTWARE
Affected packages
11 explicit affected versions
45 explicit affected versions
63 explicit affected versions
50 explicit affected versions
6 explicit affected versions
12 explicit affected versions
19 explicit affected versions
6 explicit affected versions
73 explicit affected versions
24 explicit affected versions
58 explicit affected versions
66 explicit affected versions
59 explicit affected versions
10 explicit affected versions
21 explicit affected versions
26 explicit affected versions
65 explicit affected versions
7 explicit affected versions
64 explicit affected versions
26 explicit affected versions
13 explicit affected versions
28 explicit affected versions
35 explicit affected versions
25 explicit affected versions
23 explicit affected versions
18 explicit affected versions
24 explicit affected versions
64 explicit affected versions
31 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
36 explicit affected versions
1 explicit affected versions
21 explicit affected versions
16 explicit affected versions
10 explicit affected versions
32 explicit affected versions
6 explicit affected versions
7 explicit affected versions
12 explicit affected versions
6 explicit affected versions
56 explicit affected versions
12 explicit affected versions
14 explicit affected versions
1 explicit affected versions
7 explicit affected versions
4 explicit affected versions
12 explicit affected versions
12 explicit affected versions
25 explicit affected versions
19 explicit affected versions
19 explicit affected versions
18 explicit affected versions
10 explicit affected versions
37 explicit affected versions
6 explicit affected versions
13 explicit affected versions
24 explicit affected versions
10 explicit affected versions
40 explicit affected versions
26 explicit affected versions
1 explicit affected versions
13 explicit affected versions
14 explicit affected versions
29 explicit affected versions
13 explicit affected versions
70 explicit affected versions
25 explicit affected versions
25 explicit affected versions
65 explicit affected versions
28 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
4 explicit affected versions
3 explicit affected versions
11 explicit affected versions
12 explicit affected versions
7 explicit affected versions
12 explicit affected versions
56 explicit affected versions
50 explicit affected versions
66 explicit affected versions
10 explicit affected versions
26 explicit affected versions
26 explicit affected versions
1 explicit affected versions
20 explicit affected versions
31 explicit affected versions
13 explicit affected versions
30 explicit affected versions
16 explicit affected versions
67 explicit affected versions
34 explicit affected versions
54 explicit affected versions
3 explicit affected versions
5 explicit affected versions
2 explicit affected versions
51 explicit affected versions
15 explicit affected versions
26 explicit affected versions
12 explicit affected versions
53 explicit affected versions
27 explicit affected versions
40 explicit affected versions
27 explicit affected versions
8 explicit affected versions
30 explicit affected versions
5 explicit affected versions
3 explicit affected versions
8 explicit affected versions
10 explicit affected versions
5 explicit affected versions
30 explicit affected versions
13 explicit affected versions
13 explicit affected versions
7 explicit affected versions
5 explicit affected versions
57 explicit affected versions
10 explicit affected versions
12 explicit affected versions
15 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
45 explicit affected versions
37 explicit affected versions
35 explicit affected versions
14 explicit affected versions
38 explicit affected versions
9 explicit affected versions
55 explicit affected versions
11 explicit affected versions
24 explicit affected versions
8 explicit affected versions
66 explicit affected versions
7 explicit affected versions
35 explicit affected versions
4 explicit affected versions
1 explicit affected versions
1 explicit affected versions
1 explicit affected versions
64 explicit affected versions
56 explicit affected versions
13 explicit affected versions
43 explicit affected versions
10 explicit affected versions
8 explicit affected versions
29 explicit affected versions
14 explicit affected versions
4 explicit affected versions
78 explicit affected versions
11 explicit affected versions
1 explicit affected versions
3 explicit affected versions
23 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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.
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/3b4035ddbfc8e4521f85569998a7569668cccf51
- https://git.kernel.org/stable/c/000c9ee43928f2ce68a156dd40bab7616256f4dd
- https://git.kernel.org/stable/c/3b4035ddbfc8e4521f85569998a7569668cccf51
- https://git.kernel.org/stable/c/5cb300dcdd27e6a351ac02541e0231261c775852
- https://git.kernel.org/stable/c/9cc7f0018609f75a349e42e3aebc3b0e905ba775
- https://git.kernel.org/stable/c/b5741e4b9ef3567613b2351384f91d3f16e59986
- https://git.kernel.org/stable/c/e1dd09df30ba86716cb2ffab97dc35195c01eb8f
- https://ubuntu.com/security/CVE-2025-21919
- https://ubuntu.com/security/notices/USN-7510-1
- https://ubuntu.com/security/notices/USN-7510-2
- https://ubuntu.com/security/notices/USN-7510-3
- https://ubuntu.com/security/notices/USN-7510-4
- https://ubuntu.com/security/notices/USN-7510-5
- https://ubuntu.com/security/notices/USN-7510-6
- https://ubuntu.com/security/notices/USN-7510-7
- https://ubuntu.com/security/notices/USN-7510-8
- https://ubuntu.com/security/notices/USN-7511-1
- https://ubuntu.com/security/notices/USN-7511-2
- https://ubuntu.com/security/notices/USN-7511-3
- https://ubuntu.com/security/notices/USN-7512-1
- https://ubuntu.com/security/notices/USN-7593-1
- https://ubuntu.com/security/notices/USN-7602-1
- https://ubuntu.com/security/notices/USN-7605-1
- https://ubuntu.com/security/notices/USN-7605-2
- https://ubuntu.com/security/notices/USN-7606-1
- https://ubuntu.com/security/notices/USN-7628-1
- https://ubuntu.com/security/notices/USN-7764-1
- https://ubuntu.com/security/notices/USN-7764-2
- https://ubuntu.com/security/notices/USN-7765-1
- https://ubuntu.com/security/notices/USN-7766-1
- https://ubuntu.com/security/notices/USN-7767-1
- https://ubuntu.com/security/notices/USN-7767-2
- https://ubuntu.com/security/notices/USN-7779-1
- https://ubuntu.com/security/notices/USN-7790-1
- https://ubuntu.com/security/notices/USN-7800-1
- https://ubuntu.com/security/notices/USN-7801-1
- https://ubuntu.com/security/notices/USN-7801-2
- https://ubuntu.com/security/notices/USN-7801-3
- https://ubuntu.com/security/notices/USN-7802-1
- https://ubuntu.com/security/notices/USN-7809-1
- https://www.cve.org/CVERecord?id=CVE-2025-21919