Bug 1220622 (CVE-2021-46993)

Summary: VUL-0: CVE-2021-46993: kernel: sched: out-of-bound access in uclamp
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Security Team bot <security-team>
Status: RESOLVED FIXED QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: carlos.lopez, vasant.karasulli
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/395442/
Whiteboard: CVSSv3.1:SUSE:CVE-2021-46993:6.1:(AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-02-29 09:01:06 UTC
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.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-46993
https://www.cve.org/CVERecord?id=CVE-2021-46993
https://git.kernel.org/stable/c/3da3f804b82a0a382d523a21acf4cf3bb35f936d
https://git.kernel.org/stable/c/42ee47c7e3569d9a0e2cb5053c496d97d380472f
https://git.kernel.org/stable/c/687f523c134b7f0bd040ee1230f6d17990d54172
https://git.kernel.org/stable/c/6d2f8909a5fabb73fe2a63918117943986c39b6c
https://git.kernel.org/stable/c/f7347c85490b92dd144fa1fba9e1eca501656ab3
Comment 1 Carlos López 2024-02-29 09:01:35 UTC
cve/linux-5.3 is affected. Already fixed in cve/linux-5.14 and newer.
Comment 3 Roy Hopkins 2024-03-04 11:27:41 UTC
The out-of-bounds access only occurs if the CONFIG_UCLAMP_TASK scheduler feature is enabled. We do not enable this feature so the fix does not need to be applied.
Comment 5 Carlos López 2024-03-04 12:34:28 UTC
(In reply to Roy Hopkins from comment #3)
> The out-of-bounds access only occurs if the CONFIG_UCLAMP_TASK scheduler
> feature is enabled. We do not enable this feature so the fix does not need
> to be applied.

Thanks for checking, I've updated the tracking.
Comment 6 Andrea Mattiazzo 2024-05-29 12:32:11 UTC
All done, closing.