کمپانی F5 یه هشداری صادر کرده در خصوص یه آسیب پذیری از نوع format string با شناسه CVE-2023-22374 که محصول BIG IP رو تحت تاثیر قرار میده.
این آسیب پذیری با شدت بالا ، مولفه iControl SOAP رو تحت تاثیر قرار میده. مهاجم احراز هویت شده میتونه با اکسپلویت این آسیب پذیری کد دلخواه اجرا کنه یا با ایجاد اختلال در پروسس iControl SOAP CGI ، باعث DoS بشه.
نسخه های تحت تاثیر و اصلاح شده:
برای این آسیب پذیری اصلاحیه ای منتشر نشده و فعلا یسری HOTFIX منتشر شده که میتونید از اینجا دانلود کنید.
از اونجایی که برای اکسپلویت نیاز به احراز هویت هستش ، میشه با محدود کردن دسترسی به iControl SOAP API به کاربران قابل اعتماد ، این آسیب پذیری رو تا حدودی مسدود کرد.
گزارش فنی RAPID7 :
این آسیب پذیری توسط محققین RAPID7 در 6 دسامبر 2022 کشف و گزارش شده و طی خط مشی که دارن ، اونو افشا کردن. تو این گزارش اومده که مهاجم با ورود به سیستم و دسترسی به رابط SOAP یعنی iControlPortal.cgi و قرار دادن format stringهای خاص مانند %s یا %n در پارامتر WSDL در درخواست GET ، باعث میشه که این پارامترها به تابع syslog که format-string specifierهارو پردازش میکنه برسه و باعث بشه که سیستم آدرس های حافظه ای که از پشته به اونها ارجاع میشه رو بخونه یا بنویسه. این مقادیر در داخل فابل لاگ نوشته میشه که نشون میده این آسیب پذیری از نوع blind format string هستش. البته مهاجم دسترسی به این قسمت نداره.
با استفاده از %s مهاجم میتونه باعث segmentation fault بشه و در نتیجه منجر به DoS بشه و با %n میتونه روی اشاره گرهایی که در پشته هست بنویسه ، که میتونه منجر به اجرای کد بشه.
مثال :
اگه درخواست زیر رو ارسال کنیم :
1 |
https://bigip.example.com/iControl/iControlPortal.cgi?WSDL=ASM.LoggingProfile |
در syslog اینجوری لاگ میشه :
1 |
Nov 29 08:32:25 bigip.example.org soap[4335]: query: WSDL=ASM.LoggingProfile |
حالا مهاجم بخواد از این آسیب پذیری استفاده کنه ، میتونه در خواستی مثله درخواست زیر رو ارسال کنه :
1 |
https://bigip.example.com/iControl/iControlPortal.cgi?WSDL=ASM.LoggingProfile:%08x:%08x:%08x:%08x:%08x:%08x:%08x:%08x |
و نتیجه ای مثله زیر رو در syslog رو میبینه :
1 |
Nov 29 08:41:47 bigip.example.org soap[4335]: query: WSDL=ASM.LoggingProfile:0000004c:0000004c:08cb31bc:08cba210:08cc4954:01000000:ffeaa378:f5aa8000 |
البته همونطور که قبلا گفته شد ، مهاجم نمیتونه این لاگها رو ببینه و صرفا با رشته های %s و %n میتونه این آسیب پذیری رو اکسپلویت کنه.
با توجه به اینکه احراز هویت می خواد ، یسری اطلاعات محیطی از هدف میخواد ، در لاگ هم نوشته میشه ، نیاز به امتیاز بالا هم داره ، در کل اکسپلویت آسیب پذیری پیچیدگی بالایی داره.