В пакетных менеджерах GNU Guix, Nix и Lix выявлены уязвимиости (Nix, Guix, Lix), позволяющие выполнить код с правами пользователей, под которыми запускаются сборочные задания (например, nixbld* в Nix/Lix), что может использоваться для записи своих данных в сборочное окружение и внесения изменений в сборочный процесс. Проблемы присутствуют в фоновых процессах guix-daemon и nix-daemon, применяемых для организации доступа непривилегированных пользователей к сборочным операциям.
Уязвимости вызваны тем, что при выполнении некоторых операций для доступа к временным сборочным каталогам использовались не дескрипторы dirfd, а полные файловые пути, что позволяло подменить сборочный каталог, размещаемый в иерархии /tmp (например, “/tmp/guix-build-PACKAGE-X.Y.drv-0”). Неверное использование dirfd в функции рекурсивного удаления приводило к состоянию гонки, из-за которого атакующий мог подставить символическую ссылку в момент между созданием и изменением владельца сборочного каталога. При успешной атаке guix-daemon/nix-daemon вместо смены пользователя для сборочного каталога менял владельца для файла, адресуемого символической ссылкой.
Уязвимости устранены в обновлениях Lix 2.93, Nix 2.29 и Guix 1.4.0-38.0e79d5b. Для эксплуатации уязвимостей атакующий должен иметь возможность запуска произвольных сборочных работ. Для атаки с использованием уязвимости CVE-2025-46415 достаточно возможности создания файлов в каталоге /tmp на сборочной машине, а для уязвимости CVE-2025-46416 необходимо иметь возможность запуска кода в контексте основного пространств имён идентификаторов пользователей (pid namespace) и сети (network namespace).