هزاران سرور Openfire در برابر باگ CVE-2023-32315 آسیبپذیر هستند. این مورد، یک آسیبپذیری فعال و در حال سواستفاده بوده و جهت پیمایش مسیر است که به کاربر احراز هویت نشده اجازه میدهد تا حسابهای ادمین جدید ایجاد کند.
سرور Openfire، یک سرور چت متن باز مبتنی بر جاوا (XMPP) است که ٩ میلیون بار دانلود شده است.
در 23 مه 2023، فاش شد که نرمافزار تحت تاثیر یک مشکل دور زدن احراز هویت قرارگرفته است که نسخه 3.10.0 که در آوریل 2015 منتشر شده بود را تا آن زمان تحت تاثیر قرار داده است.
توسعهدهندگان Openfire بروزرسانیهای امنیتی را در نسخههای 4.6.8، 4.7.5 و 4.8.0 برای رفع این مشکل منتشر کردند. بااینحال، در ماه ژوئن، گزارش شد که این نقص به طور فعال برای ایجاد کاربران ادمین و آپلود افزونههای مخرب در سرورهای پچنشده مورد سواستفاده قرارگرفته است.
همانطور که در گزارشی توسط جیکوب بینز، محقق آسیبپذیری VulnCheck مشخص شده است، جامعه OpenFire برای اعمال بروزرسانیهای امنیتی تعجیل نکرده است، زیرا بیش از 3000 سرور همچنان آسیبپذیر باقی ماندهاند.
بدتر از همه اینکه، بینز میگوید راهی برای سواستفاده از این نقص و آپلود افزونهها بدون ایجاد حساب کاربری وجود دارد، که باعث میشود مجرمان سایبری استقبال بیشتری از این نقص کرده و اطلاعات کمتری از این حملات به بیرون درز نماید.
حجم زیادی از سرورهای پچ نشده
مجموعه VulnCheck گزارش میدهد که اسکنهای Shodan، مجموعا 6324 سرور Openfire متصل به اینترنت را نشان میدهد که 50٪ از آنها (3162 سرور) به دلیل اجرای نسخه قدیمی، همچنان در برابر CVE-2023-32315 آسیبپذیر هستند.
فقط 20 درصد از کاربران پچها را اعمال کردهاند و 25 درصد از نسخههای قدیمیتر از 3.10.0 استفاده میکنند، یعنی زمانی که این آسیبپذیری به نرمافزار معرفی شد، و 5 درصد دیگر فورکهای پروژه متن باز را اجرا میکنند که احتمال دارد تحت تاثیر قرار بگیرند.
مجموعه VulnCheck اظهار میکند که اگرچه این تعداد ممکن است چشمگیر نباشد، اما با توجه به نقشی که این سرورها در زیرساختهای ارتباطی، مدیریت اطلاعات حساس و غیره ایفا میکنند، عدد قابل توجهی است.
یک PoC بهتر
اکسپلویتهای عمومی فعلی برای CVE-2023-32315 متکی به ایجاد یک کاربر ادمین است که به مهاجمان اجازه میدهد پلاگینهای مخرب Java JAR را آپلود کنند که shellهای معکوس را باز میکنند یا کامندها را روی سرورهای در معرض خطر اجرا میکنند.
نمونههای اکسپلویت در شرایط واقعی شامل عوامل تهدید در پشت باتنت کریپتو ماینر Kinsing است که از این آسیبپذیری برای نصب یک پلاگین Openfire سفارشیسازی شده استفاده میکنند تا Reverse Shell را روی سرور آسیبپذیر راهاندازی نمایند.
بااینحال، اکسپلویتهای موجود برای ایجاد کاربران ادمین، قابل شناسایی هستند و این امر باعث میشود تا مدافعان به راحتی نقایص را از آئودیت لاگها شناسایی کنند. متاسفانه، گزارش VulnCheck راه مخفیانهتری برای سواستفاده از این نقص بدون ایجاد حسابهای ادمین تصادفی را نشان میدهد.
در مثال PoC خود، تحلیلگران راهی برای استخراج توکنهای JSESSIONID و CSRF با دسترسی مستقیم به 'plugin-admin.jsp' و سپس آپلود پلاگین JAR از طریق یک درخواست POST را نشان میدهند.
این پلاگین تایید شده و بر روی سرور آسیبپذیر نصب میشود و webshell آن بدون نیاز به حساب کاربری قابل دسترسی است.
از آنجایی که این حمله ردپایی در لاگهای امنیتی باقی نمیگذارد، بسیار مخفیانهتر از آنچه اکسپلویتهای فعلی انجام میدهند است و فرصتهای شناسایی را برای مدافعان سایبری ناممکن کرده و از بین میبرد.
از آنجایی که CVE-2023-32315 در حال حاضر تحت بهرهبرداری فعال است، ازجمله از طریق یک بدافزار بات نت، اثبات مفهوم حملات VulnCheck میتواند موج حمله دوم را که بسیار قویتر است، تقویت کند.
بنابراین، به مدیران سرورهای Openfire که نسخه پچشده را اعمال نکردهاند، توصیه میشود در اسرع وقت این کار را انجام دهند.