Qualys, OpenSSH 9.1-də işləyən bir istismar yaratmaq riskinin aşağı hesab edildiyi bir zəiflikdən istifadə edərək nəzarət ötürülməsini başlatmaq üçün malloc və ikiqat sərbəst qorunmaları keçməyin bir yolunu tapdı. Bununla belə, işləyən bir istismar yaratmaq ehtimalı çox şübhə altındadır.
Zəiflik, əvvəlcədən identifikasiya mərhələsində yaddaş sahəsinin ikiqat boşaldılmasından qaynaqlanır. Zəifliyi yaratmaq üçün sadəcə SSH klient bannerini "SSH-2.0-FuTTYSH_9.1p1" (və ya başqa bir köhnə SSH klient) olaraq dəyişdirərək "SSH_BUG_CURVE25519PAD" və "SSH_OLD_DHGEX" bayraqlarını təyin edin. Bu bayraqlar təyin edildikdən sonra "options.kex_algorithms" buferi iki dəfə boşaldılır.
Qualys tədqiqatçıları zəifliyi manipulyasiya etməklə, icra ediləcək növbəti təlimata göstərici olan "%rip" prosessor reyestrinə nəzarəti ələ keçirə bildilər. Onların hazırladığı istismar texnikası, OpenSSH 9.1-in standart versiyası olan yamaqlanmamış OpenBSD 7.2 mühitində sshd prosesinin ünvan sahəsindəki istənilən nöqtəyə nəzarətin ötürülməsinə imkan verir.
Qeyd olunur ki, təklif olunan prototip yalnız birinci mərhələli hücumdur — işləyən bir istismar yaratmaq üçün ASLR, NX və ROP qoruma mexanizmlərini keçmək və sandbox izolyasiyasından çıxmaq lazımdır ki, bu da ehtimalı azdır. ASLR, NX və ROP-u keçmək üçün ünvan məlumatlarının əldə edilməsi tələb olunur ki, bu da məlumat sızmasına səbəb olan başqa bir zəifliyi müəyyən etməklə əldə edilə bilər. İmtiyazlı ana prosesdə və ya nüvədə bir xəta sandboxdan çıxmaq üçün faydalı ola bilər.
Mənbə: opennet.ru
