High · published February 28, 2024
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.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.3, < 5.4.120 | 5.4.120 |
| linux/linux_kernel | ≥ 5.5, < 5.10.38 | 5.10.38 |
| linux/linux_kernel | ≥ 5.11, < 5.11.22 | 5.11.22 |
| linux/linux_kernel | ≥ 5.12, < 5.12.5 | 5.12.5 |