CVE-2024-49933
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
21/10/2024
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
blk_iocost: fix more out of bound shifts<br />
<br />
Recently running UBSAN caught few out of bound shifts in the<br />
ioc_forgive_debts() function:<br />
<br />
UBSAN: shift-out-of-bounds in block/blk-iocost.c:2142:38<br />
shift exponent 80 is too large for 64-bit type &#39;u64&#39; (aka &#39;unsigned long<br />
long&#39;)<br />
...<br />
UBSAN: shift-out-of-bounds in block/blk-iocost.c:2144:30<br />
shift exponent 80 is too large for 64-bit type &#39;u64&#39; (aka &#39;unsigned long<br />
long&#39;)<br />
...<br />
Call Trace:<br />
<br />
dump_stack_lvl+0xca/0x130<br />
__ubsan_handle_shift_out_of_bounds+0x22c/0x280<br />
? __lock_acquire+0x6441/0x7c10<br />
ioc_timer_fn+0x6cec/0x7750<br />
? blk_iocost_init+0x720/0x720<br />
? call_timer_fn+0x5d/0x470<br />
call_timer_fn+0xfa/0x470<br />
? blk_iocost_init+0x720/0x720<br />
__run_timer_base+0x519/0x700<br />
...<br />
<br />
Actual impact of this issue was not identified but I propose to fix the<br />
undefined behaviour.<br />
The proposed fix to prevent those out of bound shifts consist of<br />
precalculating exponent before using it the shift operations by taking<br />
min value from the actual exponent and maximum possible number of bits.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.227 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.168 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.113 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.55 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.10.14 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.11 (including) | 6.11.3 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/1ab2cfe19700fb3dde4c7dfec392acff34db3120
- https://git.kernel.org/stable/c/1b120f151871eb47ce9f283c007af3f8ae1d990e
- https://git.kernel.org/stable/c/1f61d509257d6a05763d05bf37943b35306522b1
- https://git.kernel.org/stable/c/364022095bdd4108efdaaa68576afa4712a5d085
- https://git.kernel.org/stable/c/59121bb38fdc01434ea3fe361ee02b59f036227f
- https://git.kernel.org/stable/c/9bce8005ec0dcb23a58300e8522fe4a31da606fa
- https://git.kernel.org/stable/c/f4ef9bef023d5c543cb0f3194ecacfd47ef590ec
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html



