Përparim në krijimin e një shfrytëzimi për OpenSSH 9.1

Qualys gjeti një mënyrë për të anashkaluar mbrojtjen e malloc dhe pa dyfishtë për të nisur një transferim të kontrollit në kod duke përdorur një cenueshmëri në OpenSSH 9.1 që u përcaktua se kishte rrezik të ulët për të krijuar një shfrytëzim pune. Në të njëjtën kohë, mundësia e krijimit të një shfrytëzimi pune mbetet një pyetje e madhe.

Dobësia është shkaktuar nga një vërtetim paraprak pa pagesë. Për të krijuar kushte që dobësia të shfaqet, mjafton të ndryshoni banerin e klientit SSH në "SSH-2.0-FuTTYSH_9.1p1" (ose një klient tjetër të vjetër SSH) për të vendosur flamujt "SSH_BUG_CURVE25519PAD" dhe "SSH_OLD_DHGEX". Pas vendosjes së këtyre flamujve, memoria për buferin "options.kex_algorithms" lirohet dy herë.

Studiuesit nga Qualys, ndërsa manipulonin cenueshmërinë, ishin në gjendje të fitonin kontrollin e regjistrit të procesorit “%rip”, i cili përmban një tregues për instruksionin tjetër që do të ekzekutohej. Teknika e zhvilluar e shfrytëzimit ju lejon të transferoni kontrollin në çdo pikë në hapësirën e adresave të procesit sshd në një mjedis të pa përditësuar OpenBSD 7.2, të ofruar si parazgjedhje me OpenSSH 9.1.

Vihet re se prototipi i propozuar është një zbatim vetëm i fazës së parë të sulmit - për të krijuar një shfrytëzim pune, është e nevojshme të anashkalohen mekanizmat e mbrojtjes ASLR, NX dhe ROP dhe të shpëtoni nga izolimi i sandbox, gjë që nuk ka gjasa. Për të zgjidhur problemin e anashkalimit të ASLR, NX dhe ROP, është e nevojshme të merren informacione për adresat, gjë që mund të arrihet duke identifikuar një dobësi tjetër që çon në rrjedhje informacioni. Një gabim në procesin e prindit të privilegjuar ose kernel mund të ndihmojë në daljen nga sandbox.

Burimi: opennet.ru

Shto një koment