In den Paketmanagern Nix und Lix wurde eine SicherheitsanfĂ€lligkeit festgestellt, die es ermöglicht, Code mit den Rechten eines Hintergrundprozesses auszufĂŒhren, der in NixOS und Mehrbenutzerinstallationen unter dem Benutzer root lĂ€uft. Das Problem (CVE-Nummer nicht zugewiesen) tritt im Hintergrundprozess nix-daemon auf, der dazu dient, unprivilegierten Benutzern den Zugang zu Build-Operationen und zum Paketarchiv zu ermöglichen.
Die Schwachstelle entsteht durch das Fehlen einer Begrenzung fĂŒr die rekursive Verarbeitung von Verzeichnissen im Code zur Analyse von NAR-Archiven (Nix Archive), was ausgenutzt werden kann, um einen StapelĂŒberlauf zu initiieren und den Haufen (heap), der sich nach dem Stapel befindet, ohne Schutzseiten zu ĂŒberschreiben. Das Problem kann von jedem Benutzer ausgenutzt werden, der Verbindungen zum nix-daemon herstellen kann. StandardmĂ€Ăig haben alle Benutzer diese Möglichkeit, was es ihnen erlaubt, ihre Privilegien in Mehrbenutzerinstallationen von Nix auf den Benutzer root anzuheben.
Das Problem wurde durch die BeschrĂ€nkung der Rekursionstiefe auf 64 verschachtelte Verzeichnisse, die HinzufĂŒgung von WĂ€chtern im Speicher zwischen dem Stack und dem Heap sowie die Implementierung zusĂ€tzlicher ĂberprĂŒfungen von symbolischen Links in NAR behoben. In Nix tritt die Schwachstelle ab Version 2.24.4 auf und wurde in den Versionen 2.34.7, 2.33.6, 2.32.8, 2.31.5, 2.30.5, 2.29.4, 2.28.7 behoben. In Lix trat die Schwachstelle in Version 2.93.0 auf und wurde in den Updates 2.93.4, 2.94.2 und 2.95.2 behoben. Der Paketmanager Guix ist von dieser Schwachstelle nicht betroffen.
DarĂŒber hinaus wurde in den veröffentlichten Updates von Nix eine weitere Schwachstelle behoben (CVE vorhanden), die als mittel gefĂ€hrlich eingestuft wird (4.3 von 10). Das Problem tritt ab der Version Nix 2.24.7 auf und ermöglicht das Schreiben von Dateien in einen Bereich auĂerhalb des Root-Verzeichnisses, in das das Archiv entpackt wird. Die Schwachstelle wird durch die Erstellung von Elementen mit absoluten Dateipfaden in tar-Dateien ausgenutzt. Beim Entpacken solcher Archive mit dem Befehl ânix-prefetch-url âunpackâ oder ânix store prefetch-file âunpackâ werden Dateien mit absoluten Pfaden unverĂ€ndert extrahiert, ohne sie in relative Pfade umzuwandeln.
Quelle: opennet.ru
