In the Linux kernel, the following vulnerability has been resolved:
sched: Fix out-of-bound access in uclamp
Util-clamp places tasks in different buckets based on their clamp values for performance reasons. However, the size of buckets is currently computed using a rounding division, which can lead to an off-by-one error in some configurations.
For instance, with 20 buckets, the bucket size will be 1024/20=51. A task with a clamp of 1024 will be mapped to bucket id 1024/51=20. Sadly, correct indexes are in range [0,19], hence leading to an out of bound memory access.
Clamp the bucket id to fix the issue.
[
{
"events": [
{
"introduced": "5.3"
},
{
"fixed": "5.4.120"
}
]
},
{
"events": [
{
"introduced": "5.5"
},
{
"fixed": "5.10.38"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.11.22"
}
]
},
{
"events": [
{
"introduced": "5.12"
},
{
"fixed": "5.12.5"
}
]
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-46993.json"