In de smb4k-tool die in KDE wordt gebruikt voor het ontdekken en monteren van SMB-schijven, zijn kwetsbaarheden ontdekt die root-toegang tot het systeem mogelijk maken. Problemen zijn opgelost in de release van Smb4K 4.0.5. De status van de nieuwe versie van het pakket of het voorbereiden van een patch kan worden gecontroleerd op de volgende pagina's: Debian, Ubuntu, Fedora, SUSE/openSUSE, Gentoo, Arch en FreeBSD.
Voor het uitvoeren van geprivilegieerde acties in smb4k worden KAuth-helpers gebruikt die met root-rechten worden uitgevoerd. Kwetsbaarheden zijn aanwezig in de Smb4KMountHelper en worden veroorzaakt doordat functies voor het monteren (CVE-2025-66003) en het ontmonteren (CVE-2025-66002) van netwerkbestanden niet correct de opties filteren die aan de mount.cifs en unmount.cifs opdrachten worden doorgegeven, waardoor een niet-geprivilegieerde gebruiker deze opdrachten kan voorzien van willekeurige opties via de parameter mh_options.
Bijvoorbeeld, met de opties āfilemode=04777,uid=0ā wordt het suid root-vlag voor alle bestanden op de gemonteerde schijf ingesteld. De gebruiker kan een SMB-server starten en zijn eigen schijf monteren met de benodigde uitvoerbare bestanden, die bij het instellen van de opties āfilemode=04777,uid=0ā met root-rechten worden uitgevoerd.
In de Smb4KMountHelper werden ook de doeldirectories niet correct gecontroleerd, waardoor bijvoorbeeld het mogelijk was om zijn eigen SMB-schijf in plaats van de directory /bin te monteren en een gemodificeerde versie van /bin/bash daarin te plaatsen. Bovendien kan via de parameter mh_krb5ticket het pad naar het Kerberos-credentialbestand worden gewijzigd en kan de inhoud van elk bestand, zoals /etc/shadow, naar stderr of een publiek beschikbare log worden verzonden.
Een kwetsbaarheid in de functie Smb4KMountHelper::unmount() kan worden gebruikt om een denial-of-service-aanval uit te voeren door systeemschijven te ontmonteren door de inhoud van de parameter mh_mountpoint te manipuleren. Opmerkelijk is dat in de code een controle op het type schijf was, die alleen cifs-, smbfs- en smb3-schijven doorliet, maar in de if-blok voor het weergeven van de fout werd de āreturnā-instructie gemist en ging de uitvoering door.
Bron: opennet.ru
