CVE-2024-36969

Severity CVSS v4.0:
Pending analysis
Type:
CWE-369 Divide By Zero
Publication date:
08/06/2024
Last modified:
17/07/2024

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> drm/amd/display: Fix division by zero in setup_dsc_config<br /> <br /> When slice_height is 0, the division by slice_height in the calculation<br /> of the number of slices will cause a division by zero driver crash. This<br /> leaves the kernel in a state that requires a reboot. This patch adds a<br /> check to avoid the division by zero.<br /> <br /> The stack trace below is for the 6.8.4 Kernel. I reproduced the issue on<br /> a Z16 Gen 2 Lenovo Thinkpad with a Apple Studio Display monitor<br /> connected via Thunderbolt. The amdgpu driver crashed with this exception<br /> when I rebooted the system with the monitor connected.<br /> <br /> kernel: ? die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434 arch/x86/kernel/dumpstack.c:447)<br /> kernel: ? do_trap (arch/x86/kernel/traps.c:113 arch/x86/kernel/traps.c:154)<br /> kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu<br /> kernel: ? do_error_trap (./arch/x86/include/asm/traps.h:58 arch/x86/kernel/traps.c:175)<br /> kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu<br /> kernel: ? exc_divide_error (arch/x86/kernel/traps.c:194 (discriminator 2))<br /> kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu<br /> kernel: ? asm_exc_divide_error (./arch/x86/include/asm/idtentry.h:548)<br /> kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu<br /> kernel: dc_dsc_compute_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1109) amdgpu<br /> <br /> After applying this patch, the driver no longer crashes when the monitor<br /> is connected and the system is rebooted. I believe this is the same<br /> issue reported for 3113.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.160 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.92 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.32 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.8.11 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.9 (including) 6.9.2 (excluding)