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

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

Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/09/2024
Última modificación:
09/10/2024

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: serial: sc16is7xx: fix TX fifo democracy A veces, cuando se recibe un paquete en el canal A casi al mismo tiempo que se va a transmitir un paquete en el canal B, observamos con un analizador lógico que el paquete recibido en el canal A se transmite en el canal B. En otras palabras, los datos del búfer de Tx en el canal B están dañados con datos del canal A. El problema apareció desde el commit 4409df5866b7 ("serial: sc16is7xx: change EFR lock to operate on each channels"), que cambió el bloqueo de EFR para que funcione en cada canal en lugar de en todo el chip. Este commit ha introducido una regresión, porque el bloqueo de EFR se utiliza no solo para proteger el acceso a los registros de EFR, sino también, de una forma muy oscura y no documentada, para proteger el acceso al búfer de datos, que es compartido por los manejadores de Tx y Rx, pero también por cada canal del IC. Primero, solucione esta regresión cambiando a kfifo_out_linear_ptr() en sc16is7xx_handle_tx() para eliminar la necesidad de un búfer Rx/Tx compartido. En segundo lugar, reemplace el búfer Rx por chip con un búfer Rx separado para cada canal.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.1.76 (incluyendo) 6.2 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6.15 (incluyendo) 6.7 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7.3 (incluyendo) 6.8 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.8 (incluyendo) 6.10.5 (excluyendo)
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*