Napredak u kreiranju 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 kreiranja operativnog eksploatacije. Istovremeno, mogućnost stvaranja radnog exploita ostaje veliko pitanje.

Ranjivost je uzrokovana dvostrukom besplatnom pre-autentikacijom. Da bi se stvorili uslovi da se ranjivost manifestuje, dovoljno je promijeniti baner SSH klijenta u “SSH-2.0-FuTTYSH_9.1p1” (ili neki drugi stari SSH klijent) kako bi se postavile “SSH_BUG_CURVE25519PAD” i “SSH_OLD_DHGEX” zastavice. Nakon postavljanja ovih zastavica, memorija za bafer “options.kex_algorithms” se dva puta oslobađa.

Istraživači iz Qualysa, dok su manipulirali ranjivosti, uspjeli su dobiti kontrolu nad “%rip” procesorskim registrom, koji sadrži pokazivač na sljedeću instrukciju koja će se izvršiti. Razvijena tehnika eksploatacije omogućava vam da prenesete kontrolu na bilo koju tačku u adresnom prostoru sshd procesa u neažuriranom OpenBSD 7.2 okruženju, koje se podrazumevano isporučuje sa 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 sandbox-a, što je malo vjerovatno. Za rješavanje problema zaobilaženja ASLR, NX i ROP-a potrebno je dobiti informacije o adresama, što se može postići identifikacijom druge ranjivosti koja dovodi do curenja informacija. Greška u privilegovanom roditeljskom procesu ili kernelu može pomoći da izađete iz sandbox-a.

izvor: opennet.ru

Dodajte komentar