V balíčkových manažerech GNU Guix, Nix a Lix byly zjištěny zranitelnosti (Nix, Guix, Lix), které umožňují vykonání kódu s právy uživatelů, pod kterými se spouštějí sestavovací úkoly (např. nixbld* v Nix/Lix), což může být využito k zápisu vlastních dat do sestavovacího prostředí a k provádění změn v procesu sestavování. Problémy jsou přítomny v pozadí běžících procesech guix-daemon a nix-daemon, které se používají k zajištění přístupu neprivilegovaných uživatelů k sestavovacím operacím.
Zranitelnosti jsou způsobeny tím, že při provádění některých operací pro přístup k dočasným sestavovacím adresářům byly použity nikoli deskriptory dirfd, ale kompletní souborové cesty, což umožnilo nahrazení sestavovacího adresáře umístěného v hierarchii /tmp (např. „/tmp/guix-build-PACKAGE-X.Y.drv-0“). Nesprávné použití dirfd v funkci rekurzivního mazání vedlo k stavu závodu, při kterém mohl útočník vložit symbolický odkaz v okamžiku mezi vytvořením a změnou vlastníka sestavovacího adresáře. Při úspěšném útoku guix-daemon/nix-daemon místo změny uživatele pro sestavovací adresář měnil vlastníka souboru, na který odkazoval symbolický odkaz.
Zranitelnosti byly odstraněny v aktualizacích Lix 2.93, Nix 2.29 a Guix 1.4.0-38.0e79d5b. Aby útočník mohl zranitelnosti využít, musí mít možnost spouštět libovolné sestavovací úlohy. Pro využití zranitelnosti CVE-2025-46415 stačí mít možnost vytvářet soubory v adresáři /tmp na sestavovacím stroji, a pro zranitelnost CVE-2025-46416 je nutné mít možnost spouštění kódu v kontextu hlavního jmenného prostoru identifikátorů uživatelů (pid namespace) a sítě (network namespace).
Zdroj: opennet.ru
