In the Linux kernel, the following vulnerability has been resolved:
sched/fair: Fix potential memory corruption in childcfsrqonlist
childcfsrqonlist attempts to convert a 'prev' pointer to a cfsrq. This 'prev' pointer can originate from struct rq's leafcfsrqlist, making the conversion invalid and potentially leading to memory corruption. Depending on the relative positions of leafcfsrq_list and the task group (tg) pointer within the struct, this can cause a memory fault or access garbage data.
The issue arises in listaddleafcfsrq, where both cfsrq->leafcfsrqlist and rq->leafcfsrqlist are added to the same leaf list. Also, rq->tmpalonebranch can be set to rq->leafcfsrqlist.
This adds a check if (prev == &rq->leaf_cfs_rq_list) after the main
conditional in childcfsrqonlist. This ensures that the containerof
operation will convert a correct cfsrq 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.
[
{
"id": "CVE-2025-21919-04bd9076",
"signature_version": "v1",
"digest": {
"function_hash": "175490322987797250165522937924571185036",
"length": 326.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@000c9ee43928f2ce68a156dd40bab7616256f4dd",
"target": {
"file": "kernel/sched/fair.c",
"function": "child_cfs_rq_on_list"
}
},
{
"id": "CVE-2025-21919-12f180e6",
"signature_version": "v1",
"digest": {
"function_hash": "175490322987797250165522937924571185036",
"length": 326.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5741e4b9ef3567613b2351384f91d3f16e59986",
"target": {
"file": "kernel/sched/fair.c",
"function": "child_cfs_rq_on_list"
}
},
{
"id": "CVE-2025-21919-1bd8c3cd",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"181007601618749188079357285560061588127",
"174921384857317288559894611777966588852",
"165794013584061257101493241017083809352",
"296450978015865953872718022150881516977",
"264112091662611534699019865252416970490",
"77741328439321335789691440111003543432",
"54631353216240525324167766621121301170",
"284616445722799764225919419881760171501",
"161932566403913426404786442735060726543",
"99450514115604493772355797172351233550"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e1dd09df30ba86716cb2ffab97dc35195c01eb8f",
"target": {
"file": "kernel/sched/fair.c"
}
},
{
"id": "CVE-2025-21919-38b78c55",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"181007601618749188079357285560061588127",
"174921384857317288559894611777966588852",
"165794013584061257101493241017083809352",
"296450978015865953872718022150881516977",
"264112091662611534699019865252416970490",
"77741328439321335789691440111003543432",
"54631353216240525324167766621121301170",
"284616445722799764225919419881760171501",
"161932566403913426404786442735060726543",
"99450514115604493772355797172351233550"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@000c9ee43928f2ce68a156dd40bab7616256f4dd",
"target": {
"file": "kernel/sched/fair.c"
}
},
{
"id": "CVE-2025-21919-7a034298",
"signature_version": "v1",
"digest": {
"function_hash": "175490322987797250165522937924571185036",
"length": 326.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e1dd09df30ba86716cb2ffab97dc35195c01eb8f",
"target": {
"file": "kernel/sched/fair.c",
"function": "child_cfs_rq_on_list"
}
},
{
"id": "CVE-2025-21919-8f03b02a",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"181007601618749188079357285560061588127",
"174921384857317288559894611777966588852",
"165794013584061257101493241017083809352",
"296450978015865953872718022150881516977",
"264112091662611534699019865252416970490",
"77741328439321335789691440111003543432",
"54631353216240525324167766621121301170",
"284616445722799764225919419881760171501",
"161932566403913426404786442735060726543",
"99450514115604493772355797172351233550"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b5741e4b9ef3567613b2351384f91d3f16e59986",
"target": {
"file": "kernel/sched/fair.c"
}
}
]