Sårbarheter er funnet i pakkebehandlerne GNU Guix, Nix og Lix (Nix, Guix, Lix) som tillater at kode kjøres med rettighetene til brukerne som byggeoppgaver startes under (f.eks. nixbld* i Nix/Lix), som kan brukes til å skrive tilpassede data til byggemiljøet og gjøre endringer i byggeprosessen. Problemene finnes i bakgrunnsprosessene guix-daemon og nix-daemon som brukes til å gi uprivilegerte brukere tilgang til byggeoperasjoner.
Sårbarhetene skyldes at fullstendige filstier ble brukt i stedet for dirfd-beskrivelser under noen operasjoner for å få tilgang til midlertidige byggekataloger, noe som tillot at byggekatalogen som ligger i /tmp-hierarkiet (for eksempel "/tmp/guix-build-PACKAGE-XYdrv-0") ble erstattet. Feil bruk av dirfd i den rekursive slettefunksjonen førte til en kappløpstilstand, som gjorde at en angriper kunne erstatte en symbolsk lenke i øyeblikket mellom opprettelsen og endringen av eieren av byggekatalogen. I et vellykket angrep endret guix-daemon/nix-daemon eieren av filen som adresseres av den symbolske lenken i stedet for å endre brukeren for byggekatalogen.
Sårbarhetene ble rettet i Lix 2.93, Nix 2.29 og Guix 1.4.0-38.0e79d5b. For å utnytte sårbarhetene må en angriper kunne kjøre vilkårlige byggejobber. Et angrep som bruker sårbarheten CVE-2025-46415 krever muligheten til å opprette filer i /tmp-katalogen på byggemaskinen, mens det for sårbarheten CVE-2025-46416 er nødvendig å kunne kjøre kode i konteksten til det primære pid-et og nettverksnavneområdene.
Kilde: opennet.ru
