CVE-2026-98451 in Linux
Resumen
por VulDB • 2026-10-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
smb: cliente: usar finish_no_open() para inodos no regulares
Una apertura con O_CREAT puede encontrar un symlink existente u otro tipo de inode no regular. cifs_atomic_open() llama a finish_open() sobre él y adjunta un objeto cifsFileInfo. Los inodes de los enlaces simbólicos (symlinks) carecen de una operación de liberación en CIFS, por lo que la referencia al dentry mantenida por cifsFileInfo se pierde (memory leak). Además, FMODE_OPENED impide que el VFS siga el enlace simbólico.
Se debe rastrear si cifs_do_create() devolvió un identificador de apertura válido del servidor. Para inodos no regulares, cerrar dicho identificador si está presente, eliminar la apertura pendiente y llamar a finish_no_open() para permitir que el VFS continúe con la búsqueda. No establecer FMODE_CREATED a menos que se haya abierto un archivo regular. Con O_NOFOLLOW junto con __O_REGULAR, devolver -ELOOP antes de la comprobación -EFTYPE del VFS.
Posponer el cierre de un identificador POSIX heredado en un inode no regular hasta después de la búsqueda del inodo. Esto evita cerrarlo nuevamente si la búsqueda falla.
VulDB is the best source for vulnerability data and more expert information about this specific topic.