Qualys on leidnud viisi, kuidas mööda hiilida malloc ja double-free kaitsetest, et algatada juhtimisĂŒlekanne, kasutades OpenSSH 9.1 haavatavust, mille puhul toimiva haavatavuse loomise riski peeti madalaks. Toimiva haavatavuse loomise vĂ”imalikkus on aga endiselt vĂ€ga kĂŒsitav.
Haavatavuse pÔhjustab mÀluruumi kahekordne vabastamine eelautentimise etapis. Haavatavuse loomiseks muutke lihtsalt SSH-kliendi bÀnneriks "SSH-2.0-FuTTYSH_9.1p1" (vÔi mÔneks muuks vanemaks SSH-kliendiks), et mÀÀrata lipud "SSH_BUG_CURVE25519PAD" ja "SSH_OLD_DHGEX". PÀrast nende lippude mÀÀramist vabastatakse puhver "options.kex_algorithms" kaks korda.
Haavatavuse manipuleerimise abil suutsid Qualysi teadlased saada kontrolli protsessori registri "%rip" ĂŒle, mis sisaldab pointerit jĂ€rgmisele tĂ€idetavale kĂ€sule. Nende vĂ€ljatöötatud Ă€rakasutamise tehnika vĂ”imaldab juhtimise ĂŒle kanda mis tahes punkti sshd protsessi aadressiruumis paigamata OpenBSD 7.2 keskkonnas, mis on OpenSSH 9.1 vaikeversioon.
MĂ€rgitakse, et pakutud prototĂŒĂŒp on vaid esimese etapi rĂŒnnak â toimiva rĂŒnnaku loomiseks on vaja mööda hiilida ASLR-i, NX-i ja ROP-i kaitsemehhanismidest ning murda vĂ€lja liivakasti isolatsioonist, mis on ebatĂ”enĂ€oline. ASLR-i, NX-i ja ROP-i möödahiilimiseks on vaja hankida aadressiteavet, mida saab saavutada teise haavatavuse tuvastamisega, mis viib teabe lekkimiseni. Liivakastist vĂ€ljamurdmiseks vĂ”ib abiks olla viga privilegeeritud vanemprotsessis vĂ”i kernelis.
Allikas: opennet.ru
