Előrehaladás az OpenSSH 9.1-es exploit létrehozásában

A Qualys megtalálta a módját a malloc és a duplán mentes védelem megkerülésére, hogy az OpenSSH 9.1-ben található biztonsági rést használva kezdeményezze az irányítás átadását a kódra, amelyről megállapították, hogy alacsony a működőképes kizsákmányolás kockázata. Ugyanakkor továbbra is nagy kérdés marad a működő exploit létrehozásának lehetősége.

A sérülékenységet egy dupla ingyenes előzetes hitelesítés okozza. A sérülékenység megjelenésének feltételeinek megteremtéséhez elegendő az SSH-kliens szalaghirdetését „SSH-2.0-FuTTYSH_9.1p1”-re (vagy egy másik régi SSH-kliensre) módosítani az „SSH_BUG_CURVE25519PAD” és „SSH_OLD_DHGEX” jelzők beállításához. A jelzők beállítása után az „options.kex_algorithms” puffer memóriája kétszer felszabadul.

A Qualys kutatói a sérülékenység manipulálása közben átvették az irányítást a „%rip” processzorregiszter felett, amely a következő végrehajtandó utasításra mutató mutatót tartalmaz. A kifejlesztett kihasználási technika lehetővé teszi, hogy az sshd folyamat címterének bármely pontjára átvigye a vezérlést egy frissítetlen OpenBSD 7.2 környezetben, amely alapértelmezés szerint az OpenSSH 9.1-hez tartozik.

Megjegyzendő, hogy a javasolt prototípus csak a támadás első szakaszának megvalósítása – egy működő exploit létrehozásához meg kell kerülni az ASLR, NX és ROP védelmi mechanizmusokat, és ki kell kerülni a sandbox izolációt, ami nem valószínű. Az ASLR, NX és ROP megkerülésének problémájának megoldásához szükséges információkat szerezni a címekről, ami egy másik, információszivárgáshoz vezető sérülékenység azonosításával érhető el. A privilegizált szülőfolyamatban vagy kernelben lévő hiba segíthet kilépni a sandboxból.

Forrás: opennet.ru

Hozzászólás