Se han identificado vulnerabilidades que permiten el acceso de administrador al sistema en la utilidad smb4k, utilizada en KDE para detectar y montar particiones SMB. Estos problemas se han solucionado en Smb4K 4.0.5. Puede consultar el estado de la nueva versión del paquete o el parche que se está preparando para las distribuciones en las siguientes páginas: Debian, Ubuntu, Fedora, SUSE/openSUSE, Gentoo, Arch y FreeBSD.
Smb4k utiliza controladores KAuth que se ejecutan con privilegios de root para realizar acciones privilegiadas. Las vulnerabilidades se encuentran en el controlador Smb4KMountHelper y se deben a que las funciones de montaje (CVE-2025-66003) y desmontaje (CVE-2025-66002) del sistema de archivos de red no filtran correctamente las opciones enviadas a los comandos mount.cifs y unmount.cifs, lo que permite que un usuario sin privilegios envíe cualquier opción a estos comandos mediante el parámetro mh_options.
Por ejemplo, al usar la opción "filemode=04777,uid=0", todos los archivos de la partición montada se marcarán como suid root. Un usuario puede iniciar un servidor SMB y montar desde él una partición personalizada con los archivos ejecutables necesarios. Estos, al configurarse como "filemode=04777,uid=0", se ejecutarán con privilegios de root.
El controlador Smb4KMountHelper tampoco validó correctamente los directorios de destino, lo que, por ejemplo, permitió montar una partición SMB personalizada en lugar del directorio /bin e insertar en ella una versión modificada de /bin/bash. Además, el parámetro mh_krb5ticket permite cambiar la ruta del archivo de credenciales de Kerberos y mostrar el contenido de cualquier archivo, como /etc/shadow, en la salida estándar (stderr) o en un registro de acceso público.
Una vulnerabilidad en la función Smb4KMountHelper::unmount() puede utilizarse para provocar una denegación de servicio al desmontar particiones del sistema mediante la manipulación del parámetro mh_mountpoint. Curiosamente, el código contenía una comprobación del tipo de partición que solo permitía particiones cifs, smbfs y smb3, pero la instrucción "return" faltaba en el bloque if para informar de un error, y la ejecución no finalizaba.
Fuente: opennet.ru
