Schw vulnerabilities in Nix und Lix, die es ermöglichen, Systemrechte zu erhöhen

In den Paketmanagern Nix und Lix wurde eine Schwachstelle entdeckt, die es erlaubt, Code mit den Rechten eines Hintergrundprozesses auszufĂŒhren, der in NixOS und Mehrbenutzerinstallationen unter dem Benutzer root lĂ€uft. Das Problem (CVE nicht zugewiesen) tritt im Hintergrundprozess nix-daemon auf, der verwendet wird, um privilegierten Benutzern den Zugriff auf Build-Operationen und das Paket-Repository zu ermöglichen.

Die Schwachstelle entsteht durch das Fehlen einer Begrenzung der rekursiven Verzeichnisverarbeitung im Code zur Analyse von NAR-Archiven (Nix Archive), was ausgenutzt werden kann, um einen StapelĂŒberlauf zu initiieren und den Heap-Inhalt zu ĂŒberschreiben, der nach dem Stapel ohne Wachseiten im Speicher platziert ist. Das Problem kann von jedem Benutzer ausgenutzt werden, der Verbindungen zu nix-daemon herstellen kann. StandardmĂ€ĂŸig haben alle Benutzer diese Möglichkeit, was es ermöglicht, ihre Rechte in Mehrbenutzerinstallationen von Nix auf die von root zu erhöhen.

Das Problem wurde durch die Begrenzung der Rekursionstiefe auf 64 geschachtelte Verzeichnisse, das HinzufĂŒgen von Wachseiten im Speicher zwischen Stapel und Heap sowie die Implementierung zusĂ€tzlicher PrĂŒ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 der Schwachstelle nicht betroffen.

DarĂŒber hinaus wurde in den veröffentlichten Updates fĂŒr Nix eine weitere Schwachstelle (CVE nicht vorhanden) behoben, die als mittlere Gefahr (4.3 von 10) eingestuft ist. Das Problem tritt ab der Version Nix 2.24.7 auf und ermöglicht das Schreiben von Dateien in einen Bereich außerhalb des Wurzelverzeichnisses, 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 absolutem Pfad unverĂ€ndert extrahiert, ohne in relative Pfade umgewandelt zu werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4