Na sistema de inicialização finit, foi identificada uma vulnerabilidade (CVE-2025-29906) que permite o acesso ao sistema como qualquer usuário sem verificação de senha. A exploração da vulnerabilidade é feita através de manipulação do prompt de login e requer acesso ao console. A vulnerabilidade está presente a partir da versão 3.0 (outubro de 2017) e foi corrigida na versão finit 4.11. Em seguida, já foi lançada a versão 4.12, que corrige um buffer overflow no plugin urandom, o qual não foi classificado como uma vulnerabilidade.
A vulnerabilidade afeta a implementação do programa getty, que exibe o prompt de login no terminal e inicia o processo /bin/login para autenticação do usuário. A falha resulta da falta de separação dos argumentos da linha de comando ao iniciar /bin/login, permitindo que a opção "-f" fosse incluída no nome de usuário, desativando a verificação da senha (por exemplo, poderia-se inserir "-f root" em vez de "root"). O problema foi resolvido através da adição do argumento "—" antes do campo com o nome de usuário: — execl(_PATH_LOGIN, _PATH_LOGIN, "-p", name, NULL); + execl(_PATH_LOGIN, _PATH_LOGIN, "-p", "—", name, NULL);
Como uma solução alternativa para bloquear a vulnerabilidade, recomenda-se usar uma implementação externa do processo getty no finit, como a agetty. Nas distribuições Debian 12, Ubuntu, Parrot, Raspbian e Trisquel, os pacotes com finit ainda permanecem sem correção para a vulnerabilidade.
O sistema de inicialização Finit (Fast init) se desenvolve como uma alternativa simples ao SysV init e ao systemd e tem se espalhado por sistemas embarcados. O projeto é baseado em tecnologias do sistema de inicialização fastinit, usado no firmware Linux de netbooks EeePC e é notável pelo seu processo de inicialização muito rápido. Finit suporta níveis de execução (runlevel) no estilo SysV init, reinício automático do serviço em caso de falha, execução de manipuladores únicos, inicialização de serviços considerando dependências e condições arbitrárias, anexação de manipuladores adicionais para execução antes ou depois da execução de um serviço, extensão da funcionalidade através de plugins e configuração de limitações via Cgroups v2.
Fonte: opennet.ru
