Fremskridt med at skabe en udnyttelse til OpenSSH 9.1

Qualys fandt en måde at omgå malloc og dobbeltfri beskyttelse for at igangsætte kontroloverførsel til kode ved hjælp af en sårbarhed i OpenSSH 9.1, som blev fastslået til at have lav risiko for at skabe en fungerende udnyttelse. Samtidig er muligheden for at skabe en fungerende udnyttelse et stort spørgsmål.

Sårbarheden er forårsaget af en dobbeltfri forhåndsgodkendelse. For at skabe betingelser for, at sårbarheden kan manifestere sig, er det nok at ændre SSH-klientbanneret til "SSH-2.0-FuTTYSH_9.1p1" (eller en anden gammel SSH-klient) for at indstille flagene "SSH_BUG_CURVE25519PAD" og "SSH_OLD_DHGEX". Efter indstilling af disse flag frigives hukommelsen til "options.kex_algorithms"-bufferen to gange.

Forskere fra Qualys var, mens de manipulerede sårbarheden, i stand til at få kontrol over "%rip"-processorregisteret, som indeholder en pointer til den næste instruktion, der skal udføres. Den udviklede udnyttelsesteknik giver dig mulighed for at overføre kontrol til et hvilket som helst punkt i adresserummet for sshd-processen i et uopdateret OpenBSD 7.2-miljø, som som standard leveres med OpenSSH 9.1.

Det bemærkes, at den foreslåede prototype kun er en implementering af den første fase af angrebet - for at skabe en fungerende udnyttelse er det nødvendigt at omgå ASLR-, NX- og ROP-beskyttelsesmekanismerne og undslippe sandkasseisolation, hvilket er usandsynligt. For at løse problemet med at omgå ASLR, NX og ROP er det nødvendigt at indhente oplysninger om adresser, hvilket kan opnås ved at identificere en anden sårbarhed, der fører til informationslækage. En fejl i den privilegerede overordnede proces eller kerne kan hjælpe med at afslutte sandkassen.

Kilde: opennet.ru

Tilføj en kommentar