В системата за инициализация finit е открито уязвимост (CVE-2025-29906), която позволява достъп до системата с всеки потребител без проверка на паролата. Използването на уязвимостта се осъществява чрез манипулация с поканата за вход (login) и изисква достъп до конзолата. Уязвимостта се проявява от версия 3.0 (октомври 2017 г.) и е отстранена в версия finit 4.11. След това вече е формарана версия 4.12, в която е решено препълването на буфера в приставката urandom, което не е отбелязано като уязвимост.
Уязвимостта засяга реализацията на програмата getty, която извежда поканата за вход в терминала и стартира процеса /bin/login за удостоверяване на потребителя. Уязвимостта е причинена от липсата на разделяне на аргументите в командния ред при стартиране на /bin/login, което позволяваше да се укаже опцията "-f" в името на потребителя, изключваща проверката на паролата (например, можеше да се въведе "-f root" вместо "root"). Проблемът е решен чрез добавяне на аргумента "—" пред полето с името на потребителя: — execl(_PATH_LOGIN, _PATH_LOGIN, "-p", name, NULL); + execl(_PATH_LOGIN, _PATH_LOGIN, "-p", "—", name, NULL);
Като алтернатива за блокиране на уязвимостта се препоръчва използването на външна реализация на процеса getty в finit, например agetty. В дистрибуциите Debian 12, Ubuntu, Parrot, Raspbian и Trisquel пакетите с finit все още остават без поправка на уязвимостта.
Системата за инициализация Finit (Fast init) се развива като прост алтернативен вариант на SysV init и systemd, и е получила разпространение в вградени системи. Проектът е основан на технологиите на системата за инициализация fastinit, използвана в Linux-фирмените версии на нетбук EeePC, и е известен със своето изключително бързо време за зареждане. Finit поддържа нива на изпълнение (runlevel) в стил SysV init, автоматичен рестарт на услуги при неуспех, изпълнение на еднократни обработчици, стартиране на услуги с оглед на зависимостите и произволни условия, прикрепване на допълнителни обработчици за стартиране преди или след изпълнението на услугата, разширяване на функционалността чрез приставки, настройка на ограничения чрез Cgroups v2.
Източник: opennet.ru
