DĂŒnaamiline laadur , mis on kaasas OpenBSD-ga, vĂ”ib teatud tingimustel - rakendused jĂ€tavad keskkonnamuutuja LD_LIBRARY_PATH ja vĂ”imaldavad seega laadida kolmanda osapoole koodi kĂ”rgendatud Ă”igustega töötava protsessi kontekstis. VĂ€ljalasete jaoks on saadaval paigad, mis parandavad haavatavust Đž . Binaarsed plaastrid () amd64, i386 ja arm64 platvormide jaoks on juba tootmises ja peaksid olema allalaadimiseks saadaval selle uudise avaldamise ajaks.
Probleemi olemus: töötamise ajal eraldab ld.so esmalt keskkonnast muutuja LD_LIBRARY_PATH vÀÀrtuse ja funktsiooni _dl_split_path() kasutades muudab selle stringide massiiviks â teedeks kataloogidesse. Kui hiljem selgub, et kĂ€imasoleva protsessi kĂ€ivitab SUID/SGID rakendus, siis loodud massiiv ja tegelikult ka muutuja LD_LIBRARY_PATH kustutatakse. Samal ajal, kui _dl_split_path() mĂ€lu saab otsa (mis on raske keskkonnamuutujate suuruse selgesĂ”nalise 256 kB piirangu tĂ”ttu, kuid teoreetiliselt vĂ”imalik), saab muutuja _dl_libpath vÀÀrtuse NULL ja jĂ€rgnevad kontrollid selle muutuja vÀÀrtus sunnib _dl_unsetenv("LD_LIBRARY_PATH") vĂ€ljakutse vahele jĂ€tma.
Ekspertide leitud haavatavus , sama hÀsti kui probleeme. Haavatavuse tuvastanud turvauurijad mÀrkisid, kui kiiresti probleem lahenes: plaaster valmistati ette ja vÀrskendused avaldati kolme tunni jooksul pÀrast OpenBSD projekti teate saamist.
TĂ€iendus: probleemile on mÀÀratud number . Tehtud oss-security meililistis , sealhulgas OpenBSD 6.6, 6.5, 6.2 ja 6.1 arhitektuuridel töötav prototĂŒĂŒp
amd64 ja i386 (kasutamist saab kohandada ka teistele arhitektuuridele).
Probleemi saab kasutada vaikeinstallis ja see vÔimaldab privilegeerimata kohalikul kasutajal utiliitide chpass vÔi passwd suid kÀivitamisel teegi asendamise kaudu koodi kÀivitada administraatorina. Tööks vajalike vÀhese mÀluga tingimuste loomiseks seadke setrlimiti kaudu limiit RLIMIT_DATA.
Allikas: opennet.ru
