Napredak u izgradnji eksploatacije za OpenSSH 9.1

Qualys je pronašao način da zaobiđe malloc i dvostruku zaštitu kako bi pokrenuo prijenos kontrole na kod, koristeći ranjivost u OpenSSH 9.1 za koju je utvrđeno da ima nizak rizik od stvaranja operativnog iskorištavanja. U isto vrijeme, mogućnost stvaranja radnog exploita ostaje veliko pitanje.

Ranjivost je uzrokovana duplom besplatnom prethodnom provjerom autentičnosti. Da biste stvorili uvjete da se ranjivost manifestira, dovoljno je promijeniti banner SSH klijenta u “SSH-2.0-FuTTYSH_9.1p1” (ili neki drugi stari SSH klijent) kako bi se postavile oznake “SSH_BUG_CURVE25519PAD” i “SSH_OLD_DHGEX”. Nakon postavljanja ovih oznaka, memorija za međuspremnik “options.kex_algorithms” oslobađa se dva puta.

Istraživači iz Qualysa, dok su manipulirali ranjivošću, uspjeli su preuzeti kontrolu nad “%rip” registrom procesora, koji sadrži pokazivač na sljedeću instrukciju koju treba izvršiti. Razvijena tehnika iskorištavanja omogućuje vam prijenos kontrole na bilo koju točku u adresnom prostoru sshd procesa u neažuriranom okruženju OpenBSD 7.2, koje se prema zadanim postavkama isporučuje s OpenSSH 9.1.

Napominje se da je predloženi prototip implementacija samo prve faze napada - da bi se stvorio radni exploit, potrebno je zaobići zaštitne mehanizme ASLR, NX i ROP i izbjeći izolaciju sandboxa, što je malo vjerojatno. Za rješavanje problema zaobilaženja ASLR-a, NX-a i ROP-a potrebno je dobiti informacije o adresama, što se može postići identificiranjem druge ranjivosti koja dovodi do curenja informacija. Greška u privilegiranom nadređenom procesu ili kernelu može pomoći pri izlasku iz sandboxa.

Izvor: opennet.ru

Dodajte komentar