I pakkeadministratorerne Nix og Lix er der identificeret en sårbarhed, der gør det muligt at køre kode med rettighederne fra en baggrundsproces, som i NixOS og flerbrugermiljøer køres under brugeren root. Problemet (CVE er ikke tildelt) viser sig i baggrundsprocessen nix-daemon, der anvendes til at give uhindret adgang til byggeoperationer og pakkeopbevaring.
Sårbarheden opstår på grund af manglende begrænsning af rekursiv behandling af mapper i koden til parsing af NAR-arkiver (Nix Archive). Dette kan bruges til at initiere udtømning af stakken for samarbejdstråde og overskrive indholdet i hukommelsen (heap), der er placeret efter stakken uden hukommelsesskærmsider. Problemet kan udnyttes af enhver bruger, der kan oprette forbindelse til nix-daemon. Som standard har alle brugere denne mulighed, hvilket gør det muligt at hæve deres privilegier til root-brugeren i flerbrugermiljøer med Nix.
Problemet er løst ved at begrænse rekursionsniveauet til 64 indlejrede mapper, tilføje hukommelsesskærmsider mellem stakken og heapen, samt implementere yderligere kontrol af symbolske links i NAR. I Nix viser sårbarheden sig fra version 2.24.4 og er blevet rettet i versioner 2.34.7, 2.33.6, 2.32.8, 2.31.5, 2.30.5, 2.29.4, 2.28.7. I Lix opstod sårbarheden i version 2.93.0 og blev rettet i opdateringerne 2.93.4, 2.94.2 og 2.95.2. Pakkeadministratoren Guix er ikke påvirket af sårbarheden.
Derudover er der i de offentliggjorte opdateringer til Nix blevet rettet endnu en sårbarhed (ingen CVE), som har fået et moderat fareniveau (4.3 ud af 10). Problemet viser sig fra frigivelsen af Nix 2.24.7 og tillader oprettelse af skrivefiler uden for rodmappen, hvor arkivet udpakker sig. Sårbarheden udnyttes gennem oprettelsen af elementer med absolutte filstier i tar-filer. Når sådanne arkiver udpakkes med kommandoerne «nix-prefetch-url —unpack» eller «nix store prefetch-file —unpack», udtrækkes filer med absolutte stier, som de er, uden omdannelse til relative stier.
Kilde: opennet.ru
