OpenSSH 9.1-rako ustiapen bat sortzeko aurrerapena

Qualys-ek malloc eta doako babesa saihesteko modu bat aurkitu zuen kodera kontrolaren transferentzia abiarazteko OpenSSH 9.1-en ahultasun bat erabiliz, funtzionatzeko ustiapen bat sortzeko arrisku txikia zuela zehaztuta. Aldi berean, lan-explotazio bat sortzeko aukera galdera handi bat izaten jarraitzen du.

Zaurgarritasuna aurre-autentifikazio doako doako batek eragindakoa da. Ahultasuna ager dadin baldintzak sortzeko, nahikoa da SSH bezeroaren bannerra "SSH-2.0-FuTTYSH_9.1p1" (edo beste SSH bezero zahar bat) aldatzea "SSH_BUG_CURVE25519PAD" eta "SSH_OLD_DHGEX" banderak ezartzeko. Bandera hauek ezarri ondoren, "options.kex_algorithms" buffer-aren memoria bi aldiz askatzen da.

Qualys-eko ikertzaileek, ahultasuna manipulatzen zuten bitartean, "%rip" prozesadore-erregistroaren kontrola lortu zuten, zeinak exekutatu beharreko hurrengo instrukziorako erakuslea dauka. Garatutako ustiapen-teknikak kontrola sshd prozesuko helbide-espazioko edozein puntutara transferitzeko aukera ematen du, eguneratu gabeko OpenBSD 7.2 ingurunean, lehenespenez OpenSSH 9.1-ekin hornitua.

Kontuan izan da proposatutako prototipoa erasoaren lehen fasearen inplementazioa dela; funtzionamendu-ustiapena sortzeko, beharrezkoa da ASLR, NX eta ROP babes-mekanismoak saihestea eta sandbox isolamendutik ihes egitea, eta hori zaila da. ASLR, NX eta ROP saihesteko arazoa konpontzeko, beharrezkoa da helbideei buruzko informazioa lortzea, eta informazio-ihesak eragiten dituen beste ahultasun bat identifikatuz lor daiteke. Pribilegiodun prozesu nagusiaren edo nukleoaren akats batek sandboxtik irteten lagun dezake.

Iturria: opennet.ru

Gehitu iruzkin berria