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

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

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

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: posix-clock: Arreglar la comprobación timespec64 faltante en pc_clock_settime() Como señaló Andrew, tendrá sentido que el núcleo PTP comprobara el rango tv_sec y tv_nsec de la estructura timespec64 antes de llamar a ptp->info->settime64(). Como decía el manual de manual de clock_settime(), si tp.tv_sec es negativo o tp.tv_nsec está fuera del rango [0..999,999,999], debería devolver EINVAL, que incluye relojes dinámicos que manejan el reloj PTP, y la condición es consistente con timespec64_valid(). Como sugirió Thomas, timespec64_valid() solo comprueba que el timespec sea válido, pero no garantiza que el tiempo esté en un rango válido, así que compruébelo con antelación usando timespec64_valid_strict() en pc_clock_settime() y devuelva -EINVAL si no es válido. Hay algunos controladores que usan tp->tv_sec y tp->tv_nsec directamente para escribir registros sin comprobaciones de validez y asumen que la capa superior lo ha comprobado, lo cual es peligroso y se beneficiará de esto, como hclge_ptp_settime(), igb_ptp_settime_i210(), _rcar_gen4_ptp_settime(), y algunos controladores pueden eliminar las comprobaciones de sí mismos.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 2.6.39 (incluyendo) 4.19.323 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (incluyendo) 5.4.285 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (incluyendo) 5.10.228 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (incluyendo) 5.15.169 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (incluyendo) 6.1.114 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.58 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.11.5 (excluyendo)
cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:*