Qualys راهی برای دور زدن malloc و محافظت دوگانه رایگان برای شروع انتقال کنترل به کد با استفاده از یک آسیبپذیری در OpenSSH 9.1 پیدا کرد که مشخص شد خطر ایجاد یک سوء استفاده کار پایین را دارد. در عین حال، امکان ایجاد یک اکسپلویت کاری یک سوال بزرگ باقی مانده است.
این آسیبپذیری ناشی از احراز هویت مضاعف رایگان است. برای ایجاد شرایطی برای آشکار شدن آسیبپذیری، کافی است بنر سرویس گیرنده SSH را به «SSH-2.0-FuTTYSH_9.1p1» (یا کلاینت SSH قدیمی دیگر) تغییر دهید تا پرچمهای «SSH_BUG_CURVE25519PAD» و «SSH_OLD_DHGEX» را تنظیم کنید. پس از تنظیم این پرچم ها، حافظه بافر "options.kex_algorithms" دو بار آزاد می شود.
محققان Qualys، در حالی که این آسیبپذیری را دستکاری میکردند، توانستند کنترل رجیستر پردازنده «%rip» را که حاوی اشارهگر به دستورالعمل بعدی است که باید اجرا شود، به دست آورند. تکنیک بهرهبرداری توسعهیافته به شما امکان میدهد کنترل را به هر نقطه از فضای آدرس فرآیند sshd در یک محیط OpenBSD 7.2 بهروزرسانی نشده، که بهطور پیشفرض با OpenSSH 9.1 ارائه میشود، منتقل کنید.
خاطرنشان می شود که نمونه اولیه پیشنهادی تنها اجرای مرحله اول حمله است - برای ایجاد یک سوء استفاده کار، باید مکانیسم های حفاظتی ASLR، NX و ROP را دور زد و از انزوا جعبه ماسهبازی فرار کرد، که بعید است. برای حل مشکل دور زدن ASLR، NX و ROP باید اطلاعاتی در مورد آدرس ها به دست آورد که با شناسایی آسیب پذیری دیگری که منجر به نشت اطلاعات می شود، می توان به آن دست یافت. یک اشکال در فرآیند والد یا هسته ممتاز می تواند به خروج از جعبه شنی کمک کند.
منبع: opennet.ru