Fremgang i å lage en utnyttelse for OpenSSH 9.1

Qualys fant en måte å omgå malloc og dobbelfri beskyttelse for å starte en overføring av kontroll til kode ved å bruke en sårbarhet i OpenSSH 9.1 som ble fastslått å ha lav risiko for å skape en fungerende utnyttelse. Samtidig er muligheten for å skape en fungerende utnyttelse fortsatt et stort spørsmål.

Sårbarheten er forårsaket av en forhåndsautentisering dobbel gratis. For å skape betingelser for at sårbarheten skal manifestere seg, er det nok å endre SSH-klientbanneret til "SSH-2.0-FuTTYSH_9.1p1" (eller en annen gammel SSH-klient) for å sette "SSH_BUG_CURVE25519PAD" og "SSH_OLD_DHGEX" flaggene. Etter å ha satt disse flaggene, frigjøres minnet for "options.kex_algorithms"-bufferen to ganger.

Forskere fra Qualys, mens de manipulerte sårbarheten, var i stand til å få kontroll over "%rip"-prosessorregisteret, som inneholder en peker til neste instruksjon som skal utføres. Den utviklede utnyttelsesteknikken lar deg overføre kontroll til et hvilket som helst punkt i adresserommet til sshd-prosessen i et uoppdatert OpenBSD 7.2-miljø, levert som standard med OpenSSH 9.1.

Det bemerkes at den foreslåtte prototypen er en implementering av bare den første fasen av angrepet - for å skape en fungerende utnyttelse, er det nødvendig å omgå ASLR-, NX- og ROP-beskyttelsesmekanismene, og unnslippe sandkasseisolasjon, noe som er usannsynlig. For å løse problemet med å omgå ASLR, NX og ROP, er det nødvendig å innhente informasjon om adresser, som kan oppnås ved å identifisere en annen sårbarhet som fører til informasjonslekkasje. En feil i den privilegerte overordnede prosessen eller kjernen kan bidra til å avslutte sandkassen.

Kilde: opennet.ru

Legg til en kommentar