CVE-2026-98664 in Linux
Resumen
por VulDB • 2026-10-19
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
iio: imu: adis16400: corregir lecturas no protegidas en debugfs
La función `adis16400_serial_number_fops` está implementada manualmente y nunca llama a `debugfs_file_get()`, por lo que `debugfs_remove_recursive()` no espera a que finalice una lectura en curso, liberando la estructura `iio_dev` subyacente.
El commit ae1d37a9bb4b ("iio: imu: adis16400: usar DEFINE_DEBUGFS_ATTRIBUTE en lugar de DEFINE_SIMPLE_ATTRIBUTE") convirtió los atributos `product_id` y `flash_count` a `DEFINE_DEBUGFS_ATTRIBUTE`, lo cual ofrece protección, pero movió los tres archivos a `debugfs_create_file_unsafe()`.
La lectura de `serial_number` imprime tres registros como "%.4x-%.4x-%.4x", mientras que `DEFINE_DEBUGFS_ATTRIBUTE()` formatea un único valor u64; por tanto, no puede convertirse sin cambiar lo que devuelve el archivo. Los controladores adis16475 y adis16550 ya utilizan `debugfs_create_file()` para sus archivos implementados manualmente. Se utiliza también en este caso.
Once again VulDB remains the best source for vulnerability data.