Pažanga kuriant OpenSSH 9.1 išnaudojimą

Qualys rado būdą, kaip apeiti malloc ir dvigubą apsaugą, kad būtų pradėtas valdymo perkėlimas į kodą, naudojant OpenSSH 9.1 pažeidžiamumą, kuris, kaip nustatyta, turi mažą veikiančio išnaudojimo riziką. Tuo pačiu metu galimybė sukurti darbingą išnaudojimą išlieka didelis klausimas.

Pažeidžiamumą sukelia dvigubas nemokamas išankstinis autentifikavimas. Norint sukurti sąlygas pažeidžiamumui pasireikšti, pakanka pakeisti SSH kliento reklamjuostę į „SSH-2.0-FuTTYSH_9.1p1“ (arba kitą seną SSH klientą), kad būtų nustatytos „SSH_BUG_CURVE25519PAD“ ir „SSH_OLD_DHGEX“ vėliavėlės. Nustačius šias vėliavėles, „options.kex_algorithms“ buferio atmintis atlaisvinama du kartus.

„Qualys“ tyrėjai, manipuliuodami pažeidžiamumu, sugebėjo valdyti „%rip“ procesoriaus registrą, kuriame yra rodyklė į kitą vykdytiną instrukciją. Sukurta eksploatavimo technika leidžia perkelti valdymą į bet kurį sshd proceso adresų erdvės tašką neatnaujintoje OpenBSD 7.2 aplinkoje, kuri pagal numatytuosius nustatymus tiekiama kartu su OpenSSH 9.1.

Pažymima, kad siūlomas prototipas yra tik pirmojo atakos etapo įgyvendinimas – norint sukurti veikiančią eksploataciją, būtina apeiti ASLR, NX ir ROP apsaugos mechanizmus bei pabėgti nuo smėlio dėžės izoliacijos, kas mažai tikėtina. Norint išspręsti ASLR, NX ir ROP apėjimo problemą, būtina gauti informaciją apie adresus, o tai galima pasiekti nustatant kitą pažeidžiamumą, dėl kurio atsiranda informacijos nutekėjimas. Privilegijuoto pirminio proceso arba branduolio klaida gali padėti išeiti iš smėlio dėžės.

Šaltinis: opennet.ru

Добавить комментарий