Vulnerabilidad en kernel de Linux (CVE-2025-38217)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/07/2025
Última modificación:
18/11/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: hwmon: (ftsteutates) Corregir la ejecución TOCTOU en fts_read() En la función fts_read(), al manejar hwmon_pwm_auto_channels_temp, el código accede a la variable compartida data->fan_source[channel] dos veces sin mantener ningún bloqueo. Primero se compara con FTS_FAN_SOURCE_INVALID y, si la comprobación es correcta, se vuelve a leer cuando se usa como argumento de la macro BIT(). Esto crea una condición de ejecución de tiempo de comprobación a tiempo de uso (TOCTOU). Otro hilo que ejecute fts_update_device() puede modificar el valor de data->fan_source[channel] entre la comprobación y su uso. Si el valor se cambia a FTS_FAN_SOURCE_INVALID (0xff) durante esta ventana, se llamará a la macro BIT() con un valor de desplazamiento grande (BIT(255)). Un desplazamiento de bits por un valor mayor o igual al ancho del tipo es un comportamiento indefinido que puede provocar un fallo o la devolución de valores incorrectos al espacio de usuario. Para solucionarlo, lea data->fan_source[channel] en una variable local una vez, eliminando así la condición de ejecución. Además, añada una comprobación de los límites para garantizar que el valor sea menor que BITS_PER_LONG antes de pasarlo a la macro BIT(), lo que aumenta la robustez del código frente a comportamientos indefinidos. Este posible error fue detectado por una herramienta de análisis estático experimental desarrollada por nuestro equipo.
Impacto
Puntuación base 3.x
4.70
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.3 (incluyendo) | 6.6.95 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.35 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.15.4 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:6.16:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc2:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



