Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2024-49933)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
21/10/2024
Última modificación:
13/11/2024

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: blk_iocost: corrige más cambios fuera de los límites Recientemente, la ejecución de UBSAN detectó algunos cambios fuera de los límites en la función ioc_forgive_debts(): UBSAN: cambio fuera de los límites en block/blk-iocost.c:2142:38 el exponente de cambio 80 es demasiado grande para el tipo de 64 bits 'u64' (también conocido como 'unsigned long long') ... UBSAN: cambio fuera de los límites en block/blk-iocost.c:2144:30 el exponente de cambio 80 es demasiado grande para el tipo de 64 bits 'u64' (también conocido como 'unsigned long long') ... Seguimiento de llamadas: dump_stack_lvl+0xca/0x130 __ubsan_handle_shift_out_of_bounds+0x22c/0x280 ? __lock_acquire+0x6441/0x7c10 ioc_timer_fn+0x6cec/0x7750 ? blk_iocost_init+0x720/0x720 ? call_timer_fn+0x5d/0x470 call_timer_fn+0xfa/0x470 ? blk_iocost_init+0x720/0x720 __run_timer_base+0x519/0x700 ... No se identificó el impacto real de este problema, pero propongo corregir el comportamiento indefinido. La solución propuesta para evitar esos cambios fuera de los límites consiste en precalcular el exponente antes de usarlo en las operaciones de cambio tomando el valor mínimo del exponente real y la cantidad máxima posible de bits.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.10.227 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (incluyendo) 5.15.168 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (incluyendo) 6.1.113 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.55 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.10.14 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.11 (incluyendo) 6.11.3 (excluyendo)