Vulnerabilidad en kernel de Linux (CVE-2024-36969)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-369
División por cero
Fecha de publicación:
08/06/2024
Última modificación:
17/07/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: corrige la división por cero en setup_dsc_config Cuando slice_height es 0, la división por slice_height en el cálculo del número de sectores provocará un bloqueo del controlador de división por cero. Esto deja el kernel en un estado que requiere un reinicio. Este parche añade un check para evitar la división por cero. El seguimiento de la pila a continuación es para el kernel 6.8.4. Reproduje el problema en un Thinkpad Lenovo Z16 Gen 2 con un monitor Apple Studio Display conectado a través de Thunderbolt. El controlador amdgpu falló con esta excepción cuando reinicié el sistema con el monitor conectado. kernel: ? die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434 arch/x86/kernel/dumpstack.c:447) kernel:? do_trap (arch/x86/kernel/traps.c:113 arch/x86/kernel/traps.c:154) kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) núcleo amdgpu:? do_error_trap (./arch/x86/include/asm/traps.h:58 arch/x86/kernel/traps.c:175) kernel:? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) núcleo amdgpu:? exc_divide_error (arch/x86/kernel/traps.c:194 (discriminador 2)) kernel:? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) núcleo amdgpu:? asm_exc_divide_error (./arch/x86/include/asm/idtentry.h:548) núcleo:? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) kernel amdgpu: dc_dsc_compute_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc /dc_dsc.c:1109) amdgpu Después de aplicar este parche, el controlador ya no falla cuando se conecta el monitor y se reinicia el sistema. Creo que este es el mismo problema informado para 3113.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.160 (excluyendo) | |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.92 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.32 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.8.11 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.9 (incluyendo) | 6.9.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/130afc8a886183a94cf6eab7d24f300014ff87ba
- https://git.kernel.org/stable/c/308de6be0c9c7ba36915c0d398e771725c0ea911
- https://git.kernel.org/stable/c/7e4f50dfc98c49b3dc6875a35c3112522fb25639
- https://git.kernel.org/stable/c/91402e0e5de9124a3108db7a14163fcf9a6d322f
- https://git.kernel.org/stable/c/a32c8f951c8a456c1c251e1dcdf21787f8066445
- https://git.kernel.org/stable/c/f187fcbbb8f8bf10c6687f0beae22509369f7563