محققای PTsecurity گزارشی منتشر کردن در خصوص سوء استفاده ی بازیگران تهدید از آسیب پذیری CVE-2024-37383 در Roundcube Webmail، که باهاش یک سازمان دولتی در یکی از کشورهای CIS رو هدف قرار دادن.
Roundcube Webmail یک کلاینت ایمیل متن باز هستش که در زبان PHP توسعه داده شده. به دلیل عملکرد گسترده و استفاده ی آسون، بین سازمانهای تجاری و دولتی در سراسر دنیا محبوب هستش.
این محبوبیت باعث شده که به یک هدف جذاب برای مجرمین سایبری تبدیل بشه. بطوریکه بعد از عمومی شدن اکسپلویتهای اون، به سرعت با هدف سرقت اعتبارنامه ها و ارتباطات سازمانی مورد سوء استفاده قرار میگره.
برای مثال قبلا گروه هکری Winter Vivern از آسیب پذیری XSS در Roundcube Webmail و با شناسه ی CVE-2023-5631، سوء استفاده کرده بود و چندین سازمان دولتی در چندین کشور اروپایی رو هدف قرار داده بود.
در سپتامبر 2024، محققای Positive Technologies Security Expert Center (PT ESC)، ایمیلی رو کشف کردن که به یک سازمان دولتی در یک کشور CIS ارسال شده بود. با توجه به Timestamp، مشخص شد که ایمیل در ژوئن 2024 ارسال شده. ایمیل فاقد متن و فقط حاوی یک پیوست بود.
با این حال کلاینت ایمیل، پیوست رو نشون نمیداد و بدنه ی ایمیل حاوی تگ های eval(atob(…)) بود که برای دیکد و اجرای کدهای جاوااسکریپت بکار می رفت:
با توجه به ” attributeName=”href ، که دارای یک Space اضافی هستش، مهاجم خواسته آسیب پذیری CVE-2024-37383 در Roundcube Webmail رو اکسپلویت کنه.
شرح آسیب پذیری:
آسیب پذیری CVE-2024-37383 در کلاینت ایمیل Roundcube Webmail کشف شده و یک آسیب پذیری stored XSS هستش که به مهاجم بدون احرازهویت، امکان اجرای کد جاوا اسکریپت در صفحه کاربر رو میده.
برای اکسپلویت این آسیب پذیری، تنها کاری که مهاجمان باید انجام بده اینه که یک ایمیل مخرب، به قربانی بفرسته و قربانی رو ترغیب کنه تا با استفاده از نسخه Roundcube قبل از 1.5.6 یا نسخههای 1.6 تا 1.6.6، اونو باز کنه. این آسیبپذیری توسط محققان CrowdStrike کشف و در 19 مه 2024 وصله شد.
نسخه ی اصلاح شده برای این آسیب پذیری، 1.5.7 و 1.6.7 هستش که در 19 مه منتشر شد. البته در زمان نگارش این مقاله، آخرین نسخه، 1.6.9 هستش که در یک سپتامبر منتشر شده.
این خطا در کدی هستش که عناصر SVG رو در نشانهگذاری بدنه ایمیل (email body markup) پردازش میکنه. قبل از نمایش ایمیل، Roundcube محتوای برخی از برچسبها و ویژگیهای اونارو پردازش میکنه، مثلاً با تمیز کردن کاراکترهای ویژه. این مرحله رو پیشپردازش میگن. در این مرحله، عناصر SVG با ویژگیهای “<animate>” ، با یک لینک به یک عنصر، از بدنه نهایی ایمیل حذف میشن:
محتوای جایگزین شده:
تابعی که عناصر HTML رو در بدنه ایمیل پیش پردازش میکنه، بصورت زیر:
برای اطمینان از اینکه برچسبهای <animate>، <animatecolor>، <set> و <animatetransform> از صفحه نهایی حذف میشن، باید حاوی ویژگی “href” باشن:
این ویژگی با فراخوانی تابع attribute_value($node, 'attributename', 'href')
بررسی میشه که کدش بصورت زیر:
در حین مقایسه (در تصویر بالا)، این مورد در نظر گرفته نشده که نام ویژگی برچسب، هنگام تجزیه سند ممکنه حاوی فاصله باشه. هنگامی که یک فاصله اضافی به نام ویژگی “href” اضافه بشه:
اون فیلتر نمیشه و در سند نهایی ظاهر میشه. قبلش بصورت {attribute name} = {attribute value} فرمت دهی میشه:
با قرار دادن کد جاوا اسکریپت به عنوان مقدار href، میشه هر زمان که یک کلاینت Roundcube ایمیل مخربی رو باز کرد، اونرو در صفحه Roundcube اجرا کنیم. PoC برای آسیب پذیری بصورت زیر:
بررسی پیلود:
کدی که در تابع eval اجرا میشه، سند خالی Road map.docx (رمزگذاری شده با Base64) رو ذخیره میکنه. علاوه بر این، سعی میکنه از طریق افزونه ManageSieve پیامهایی رو از سرور ایمیل استخراج کنه.
یک فرم احرازهویت با فیلدهای rcmloginuser
و rcmloginpwd
(نام کاربری و رمز عبور کاربر برای سرویس کلاینت Roundcube) در صفحه HTML نمایش داده شده به کاربر اضافه میشه. اینجا انتظار میره که این فیلدها بطور خودکار پر بشن یا اینکه کاربر برای تایید مجدد، جزئیات رو بصورت دستی وارد کنه.
نام کاربری و رمز عبور بدست اومده، به سرور libcdn.org
ارسال میشن:
دامنه ی libcdn.org، در 6 ژوئن 2024 رجیستر شده و پشت Cloudflare قرار داره.
منابع: