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

Vulnerabilidad en kernel de Linux (CVE-2022-48801)

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
16/07/2024
Última modificación:
16/07/2024

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: iio: buffer: corrige el manejo de errores relacionados con archivos en IIO_BUFFER_GET_FD_IOCTL Si no logramos copiar el descriptor de archivo recién creado en la zona de usuario, intentamos limpiar colocando de nuevo 'fd' y liberando ' ib'. El código usa put_unused_fd() para el primero, lo cual es incorrecto, ya que el descriptor de archivo ya fue publicado por fd_install(), que es llamado internamente por anon_inode_getfd(). Esto hace que el código de manejo de errores deje una tabla de descriptores de archivos medio limpia y un objeto 'archivo' parcialmente destruido, lo que permite que Userland nos juegue trucos de use-after-free, abusando del fd aún utilizable y haciendo que el código funcione en un puntero 'archivo->datos_privados' colgando. En lugar de dejar el kernel en un estado parcialmente dañado, no intente limpiar explícitamente y dejar esto en la ruta de salida del proceso que liberará cualquier fds aún válido, incluido el creado por la llamada anterior a anon_inode_getfd(). Simplemente devuelva -EFAULT para indicar el error.

Impacto