V balíčkových manažerech Nix a Lix byla odhalena zranitelnost, která umožňuje vykonat kód s právy na pozadí procesu, který v NixOS a víceuživatelských instalacích běží pod uživatelským účtem root. Problém (CVE nebylo přiřazeno) se projevuje v pozadí procesu nix-daemon, který se používá k zajištění přístupu nepřidělených uživatelů k operačním procesům a úložišti balíčků.
Zranitelnost vzniká z důvodu nedostatku omezení na rekurzivní zpracování adresářů ve kódu pro zpracování archivů NAR (Nix Archive), což může být použito k iniciaci vyčerpání zásobníku vláken a přepsání obsahu haldy (heap) umístěné za zásobníkem bez strážních stránek paměti. Problém může být zneužit jakýmkoli uživatelem, který může navázat spojení s nix-daemon. Výchozí konfigurace umožňuje všem uživatelům to provést, což umožňuje povýšení jejich oprávnění na uživatelský účet root v víceuživatelských instalacích Nix.
Problém byl vyřešen omezením úrovně rekurze na 64 vnořených adresářů, přidáním strážních stránek paměti mezi zásobníkem a haldou a implementací dalších kontrol symbolických odkazů v NAR. V Nix se zranitelnost projevuje od verze 2.24.4 a byla odstraněna v vydáních 2.34.7, 2.33.6, 2.32.8, 2.31.5, 2.30.5, 2.29.4, 2.28.7. Ve Lix zranitelnost vznikla v vydání 2.93.0 a byla odstraněna v aktualizacích 2.93.4, 2.94.2 a 2.95.2. Balíčkový manažer Guix zranitelnost neovlivňuje.
Kromě toho byla v publikovaných aktualizacích Nix odstraněna další zranitelnost (CVE chybí), která byla označena jako středně vážná (4.3 z 10). Problém se projevuje od vydání Nix 2.24.7 a umožňuje zapisování souborů do oblasti mimo kořenový adresář, kam se rozbaluje archiv. Zranitelnost se zneužívá prostřednictvím vytváření prvků s absolutními cestami souborů v tar-archivách. Při rozbalování takových archivů pomocí příkazu „nix-prefetch-url —unpack“ nebo „nix store prefetch-file —unpack“ jsou soubory s absolutními cestami extrahovány tak, jak jsou, bez převodu na relativní cestu.
Zdroj: opennet.ru
