In den Paketmanagern GNU Guix, Nix und Lix wurden Schwachstellen (Nix, Guix, Lix) entdeckt, die es ermöglichen, Code mit den Rechten der Benutzer auszufĂŒhren, unter denen die Build-Aufgaben laufen (zum Beispiel nixbld* in Nix/Lix). Dies könnte ausgenutzt werden, um eigene Daten in die Build-Umgebung zu schreiben und den Build-Prozess zu verĂ€ndern. Die Probleme treten in den Hintergrundprozessen guix-daemon und nix-daemon auf, die verwendet werden, um den Zugriff von unprivilegierten Benutzern auf Build-Operationen zu organisieren.
Die Schwachstellen resultieren daraus, dass bei der AusfĂŒhrung bestimmter Operationen zum Zugriff auf temporĂ€re Build-Verzeichnisse nicht die Deskriptoren dirfd, sondern vollstĂ€ndige Pfade verwendet wurden, was es ermöglichte, das Build-Verzeichnis, das in der Hierarchie "/tmp" gespeichert ist (zum Beispiel "/tmp/guix-build-PACKAGE-X.Y.drv-0"), zu ersetzen. Die falsche Verwendung von dirfd in der Funktion fĂŒr rekursive LöschvorgĂ€nge fĂŒhrte zu einem Rennen, bei dem ein Angreifer einen symbolischen Link zwischen der Erstellung und der Ănderung des Besitzers des Build-Verzeichnisses platzieren konnte. Bei einer erfolgreichen Attacke Ă€nderte guix-daemon/nix-daemon anstelle des Wechsels des Benutzers fĂŒr das Build-Verzeichnis den Besitzer der Datei, die durch den symbolischen Link adressiert wurde.
Schwachstellen wurden in den Aktualisierungen Lix 2.93, Nix 2.29 und Guix 1.4.0-38.0e79d5b behoben. Um die Schwachstellen auszunutzen, muss der Angreifer die Möglichkeit haben, beliebige Build-Tasks auszufĂŒhren. FĂŒr einen Angriff, der die Schwachstelle CVE-2025-46415 ausnutzt, reicht es aus, Dateien im Verzeichnis /tmp auf der Build-Maschine erstellen zu können. FĂŒr die Schwachstelle CVE-2025-46416 ist hingegen die AusfĂŒhrung von Code im Kontext der Haupt-PID-Namespace und des Netzwerk-Namespace erforderlich.
Quelle: opennet.ru
