Snapd ja Rust Coreutils haavatavused, mis võimaldavad saada root-oigusid Ubuntu süsteemis.

Qualys avastas haavatavuse (CVE-2026-3888) snap-confine ja systemd-tmpfiles koostöö toimimises Ubuntu's, mis võimaldab mitterikastatud kasutajal saada root-juurdepääsu süsteemile. Probleem ilmneb Ubuntu vaikimisi konfiguratsioonis alates versioonist 24.04. Ubuntu versioonides 16.04–22.04 võib haavatavust kasutada ebatüüpilistes konfiguratsioonides, mis jäljendavad uuemate versioonide käitumist. Ubuntu's on probleem lahendatud eilse snapd paketi uuendusega. Snapd's on probleem lahendatud versioonis 2.75.

Haavatavuse põhjus on ebakorrektsne suhtlemine snap-confine ja systemd-tmpfiles utiliitide vahel, millel on kõrgendatud õigused. Snap-confine utiliit loob kühveldatud keskkonna snap-rakenduse käitamiseks, samal ajal kui systemd-tmpfiles teostab ajutiste failide ja kataloogide automaatset puhastamist. Vaikimisi on systemd-tmpfiles seadistatud eemaldama kõik vanad failid ja kataloogid \/tmp, mida ründaja võib kasutada /tmp\/snap katalooge vale kopeerimise teel pärast nende eemaldamist systemd-tmpfiles'i utiliidiga, kuid enne nende taastamist snap-confine'i käsuga.

Rünnak seisneb selles, et oodatakse ajutiste failide puhastamise protsessi käivitumist, asendatakse /tmp\/snap kataloog pärast selle eemaldamist ja paigutatakse muudetud koopia raamatukogudest /tmp\/snap\/usr\/lib\/x86_64-linux-gnu.exchange. Ründajal võib systemd-tmpfiles'i käivitamise ootamiseks kuluda mitu päeva, kuna Ubuntu 24.04-s käivitub puhastamine iga 10 päeva tagant, ja uuemates versioonides iga 30 päeva tagant. Pärast katalooge asendamist saavutab ründaja uue kühveldatud keskkonna initsialiseerimise snap-confine'i kaudu.

Kühveldatud keskkonna alguse loomise ajal ajutises kataloogis \/tmp\/snap, ootab ründaja sobivat hetke ja nimetab \/tmp\/snap\/usr\/lib\/x86_64-linux-gnu.exchange ümber \/tmp\/snap\/usr\/lib\/x86_64-linux-gnu, asendades seega raamatukogud ja tagades nende bind-monteerimise root õigustega. Nii saab ründaja kontrolli jagatud raamatukogude ja ld.so laadija üle, mis käitatakse snap-kühveldatud keskkonnas, ning võib saavutada suvalise koodi käivitamise root õigustega, käivitades mistahes suid-programmi, milles rakendatakse dünaamilist sidumist.

Olles saanud root-juurdepääsu snap-kühveldatud keskkonnas, mis on isoleeritud AppArmori ja seccompi põhist süsteemi kutsungite filtri kaudu, suudab ründaja kopeerida \/bin\/bash katalooge \/var\/snap\$SNAP\/common\/ ja määrata sellele õigused "04755" (suid root). Kuigi õigused on muudetud kühveldatud keskkonnas, on muudetud õigustega fail saadaval ka põh süsteemis, seega on piisav käivitada \/var\/snap\\/common\/bash tavalise mitterikastatud kasutajaga normisüsteemi keskkonnas, et saada täielik root-juurdepääs.

Samuti avastati haavatavus uutils coreutils utiliidis (Rust Coreutils), GNU Coreutils'i analoogis, mis on kirjutatud Rust keeles. Haavatavus võimaldab mitterikastatud kasutajal süsteemis saada root õigused. Probleem avastati Ubuntu 25.10 muudatuste ülevaatamise käigus ja lahendati erandlikult enne Ubuntu 25.10 väljalaskmist, varustades \/usr\/bin\/gnurm'i asemel uutils rm. Uutils paketis lahendati probleem uutils coreutils 0.3.0 väljaandes, kuid muudatusete nimekirjas ei olnud märgitud haavatavuse kõrvaldamist (oli märgitud, et rm, du, chmod ja chgrp rakendavad ohutut tee ümbersuunamismeetodit).

Probleem tuleneb rikka olude seeriast utiliidis "rm", mis võimaldab kohalikel kasutajatel asendada katalooge sümboolsete linkidega, kui nad eemaldavad faili, mis on rikka õigustega. Lisaks võib seda haavatavust kasutada igapäevase cron skripti \/etc\/cron.daily\/apport käitamise ajal, mis käitatakse root õigustega ja eemaldab järjestiku \/var\/crash katalooge, kuhu on kirjutamisõigus kõigil süsteemi kasutajatel.

Kataloogide rekursiivsel eemaldamisel kontrollib utiliit rm esmalt kõiki katalooge ja seejärel eemaldab need järjestikku vastupidises järjekorras, kutsudes välja funktsiooni rmdir(). Kui aka asendamine juhtub vanema katalooge sümboolses lingis vahetult pärast selle kontrollimist, kuid enne kontrollimist sisemistes lasteskataloogides, toob see kaasa katalooge kustutamise, kuhu sümboolne link osutab. Nii on võimalik saavutada mitte ainult ükskõik millise faili kustutamine süsteemis, vaid ka õiguste tõstmine läbi \/tmp\/snap-private-tmp\$SNAP\/tmp\/snap katalooge kustutamise, et asendada kühveldatud keskkonna sisu snap-pakettiga (root-juurdepääsu meetod on sama mis esimeses haavatavuses).

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster