In het initialisatiesysteem finit is een kwetsbaarheid ontdekt (CVE-2025-29906), die het mogelijk maakt om zonder wachtwoord met elk gebruikersaccount in te loggen. De exploitatie van deze kwetsbaarheid gebeurt via manipulatie van de inlogprompt en vereist toegang tot de console. De kwetsbaarheid doet zich voor vanaf versie 3.0 (oktober 2017) en is verholpen in de release finit 4.11. Vervolgens is al release 4.12 gecreƫerd, waarin een buffer overflow in de urandom-plug-in is verholpen, die niet als een kwetsbaarheid is gemarkeerd.
De kwetsbaarheid betreft de implementatie van het programma getty, dat de inlogprompt in de terminal weergeeft en het proces /bin/login voor authenticatie van de gebruiker opstart. De kwetsbaarheid wordt veroorzaakt door het ontbreken van argumentenscheiding bij het starten van /bin/login, waardoor de optie "-f" in de gebruikersnaam kan worden opgegeven, waardoor de wachtwoordcontrole wordt uitgeschakeld (bijvoorbeeld, men kan "-f root" invoeren in plaats van "root"). Het probleem is opgelost door een argument "ā" voor het veld met de gebruikersnaam toe te voegen: ā execl(_PATH_LOGIN, _PATH_LOGIN, "-p", name, NULL); + execl(_PATH_LOGIN, _PATH_LOGIN, "-p", "ā", name, NULL);
Als een tijdelijke oplossing om de kwetsbaarheid te blokkeren, wordt aanbevolen om in finit een externe implementatie van het getty-proces te gebruiken, bijvoorbeeld agetty. In de distributies Debian 12, Ubuntu, Parrot, Raspbian en Trisquel blijven de pakketten met finit voorlopig zonder oplossing voor de kwetsbaarheid.
Het initialisatiesysteem Finit (Fast init) ontwikkelt zich als een eenvoudige alternatieve oplossing voor SysV init en systemd, en wordt veel gebruikt in embedded systemen. Het project is gebaseerd op de technologieën van het initialisatiesysteem fastinit, dat werd gebruikt in de Linux-firmware van netbooks EeePC en opvalt door het zeer snelle opstartproces. Finit ondersteunt uitvoering niveaus (runlevel) in de stijl van SysV init, automatische herstart van service bij een storing, uitvoering van eenmalige handlers, opstarten van services rekening houdend met afhankelijkheden en willekeurige voorwaarden, het aanmelden van extra handlers voor opstarten vóór of na de uitvoering van de service, uitbreiding van functionaliteiten via plugins, en het instellen van beperkingen via Cgroups v2.
Bron: opennet.ru
