Haavatavus Rusti standardteegis

Rusti standardteegis leiti haavatavus (CVE-2022-21658), mis on seotud võistluse olukorraga funktsioonis std::fs::remove_dir_all(). Kui seda funktsiooni kasutatakse ajutiste failide kustutamiseks privileege omavas rakenduses, võib ründaja saavutada juhuslike süsteemifailide ja -kaustade kustutamise, millele tavaliselt ei pääse.

Haavatavus tuleneb sümboolsete linkide kontrollimise vale rakendamise tõttu enne kaustade rekursiivset kustutamist. Selle asemel, et takistada sümboolsetes linkides navigeerimist, kontrollib funktsioon remove_dir_all() esmalt, kas fail on sümboolne link. Kui link on määratud, kustutatakse see faili pädevusega, ja kui kaust, käivitatakse sisu rekursiivne kustutamine. Probleem on selles, et kontrollimise ja kustutamise alguse vahel on väike viivitus.

Kui kontroll on juba tehtud, kuid kataloogide tühjendamise operatsioon ei ole veel alanud, võib ründaja asendada ajutiste failide katalooge sümboolse lingiga. Kui see juhtub õigel hetkel, käsitledes funktsioon remove_dir_all() sümboolset linki kui katalooge, alustab see selle lingi tähistatud sisu kustutamist. Kuigi rünnaku edu sõltub valitud asendamise ajastust ja esimese katse täpsusest, suudeti uurijatel katsete käigus saavutada rünnakute korduv õnnestumine pärast ekspluateerimise käivitamist mõne sekundi jooksul.

Haavatavused puudutavad kõiki Rusti versioone alates 1.0.0 kuni 1.58.0 (kaasa arvatud). Probleem on hetkel lahendatud plaastrina (parandus lisatakse 1.58.1 väljaandes, mis on oodata mõne tunni jooksul). Haavatavuste kõrvaldamist distributsioonides saab jälgida järgmistelt lehtedelt: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch, FreeBSD. Kõik Rusti keeles kirjutatud programmid, mida käitatakse kõrgendatud õigustega ja kasutavad funktsiooni remove_dir_all, peaksid kiiresti uuendama Rusti versioonile 1.58.1. Huvitav on, et välja antud plaastri tõttu ei lahendata probleemi kõigis süsteemides, näiteks REDOX OS ja macOS versioonides enne 10.10 (Yosemite) ei blokeerita haavatavust O_NOFOLLOW lipu puudumise tõttu, mis väljakutsutud sümboolsete linkide järgimise keelab.

Allikas: opennet.ru

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