خانه » CISA آسیب‌پذیری‌های بحرانی Ivanti EPM را به‌عنوان تهدید فعال طبقه‌بندی کرد

CISA آسیب‌پذیری‌های بحرانی Ivanti EPM را به‌عنوان تهدید فعال طبقه‌بندی کرد

توسط Vulnerbyt_News
cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte

آژانس امنیت سایبری و امنیت زیرساخت ایالات متحده (CISA) سه آسیب‌پذیری بحرانی در Ivanti Endpoint Manager (EPM) را که توسط مهاجمان در حملات فعال مورد سوء استفاده قرار گرفته‌اند، به فهرست آسیب‌پذیری‌های شناخته‌شده قابل اکسپلویت (KEV) اضافه کرده است. Ivanti یکی از بازیگران کلیدی در حوزه مدیریت سیستم‌ها و دارایی‌های IT است و خدمات خود را به بیش از ۴۰,۰۰۰ شرکت در سراسر جهان ارائه می‌دهد. این موضوع باعث شده که آسیب‌پذیری‌های این شرکت، اهداف جذابی برای مهاجمان سایبری باشند.

جزئیات آسیب‌پذیری‌های  Ivanti EPM 

سه آسیب‌پذیری شناسایی‌شده با شناسه‌های CVE-2024-13159، CVE-2024-13160 و CVE-2024-13161 ناشی از ضعف در مدیریت دسترسی به مسیرها به طور مطلق(Absolute Path Traversal) هستند. این نقص‌ها به مهاجمان راه دور و غیرمجاز اجازه می‌دهند که کنترل کامل سرورهای آسیب‌پذیر را به دست بگیرند.

سرور Ivanti EPM یک برنامه تحت .NET است که بسیاری از APIهای مبتنی بر وب متعلق به اندپوینت های خود را در DLLهای مختلف تعریف می‌کند. آسیب‌پذیری‌های مورد بحث در فایل زیر قرار دارند:

				
					 C:\Program Files\LANDesk\ManagementSuite\WSVulnerabilityCore.dll 
				
			

در بخش LANDesk.ManagementSuite.WSVulnerabilityCore، کلاس VulCore، APIهای مربوط به مدیریت آسیب‌پذیری را در اختیار سرور EPM قرار می‌دهد. در شکل زیر این کلاس را مشاهده می‌کنید:

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
کلاس VulCore

آسیب‌پذیری CVE-2024-13159

متد GetHashForWildcardRecursive() که در این کلاس تعریف شده است، یک آرگومان رشته‌ای به نام wildcard را می‌پذیرد و آن را به متد HashCalculator.GetHashForWildcardRecursive() ارسال می‌کند.

متد GetHashForWildCardRecursive() تابع Path.GetDirectoryName() را بر روی متغیر تحت کنترل کاربر(wildcard) اجرا می‌کند و سپس از آن در Path.Combine() استفاده کرده و مقدار آن را در متغیر rootPath ذخیره می‌کند. سپس این متغیر به تابع HashCalculator.GetDirectories() ارسال می‌شود که باعث می‌شود سرور EPM تلاش کند تمام فایل‌های یک دایرکتوری(پوشه) خاص را بخواند تا هش آن‌ها را محاسبه کند.

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
ساختار متد آسیب‌پذیر GetHashForWildcardRecursive()

آسیب‌پذیری در عدم بررسی ورودی در اندپوینت احراز هویت نشده است. در نتیجه، پارامتر wildcard را می‌توان به گونه‌ای تنظیم کرد که rootPath را به یک مسیر UNC راه دور اشاره دهد.

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
ایراد احتمالی نشان داده شده در متد Path.Combine()

دسترسی به این اندپوینت، با استفاده از درخواست Burp زیر امکان‌پذیر است:

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
نمونه درخواست

آسیب‌پذیری CVE-2024-13160:

متد GetHashForWildcard() در این کلاس یک آرگومان رشته‌ای به نام wildcard دریافت کرده و آن را به HashCalculator.GetHashForWildcard() ارسال می‌کند.

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
ساختار متد GetHashForWildcard()

متد HashCalculator.GetHashForWildcard()، مشابه متد آسیب‌پذیری قبلی، مسیر را براساس ورودی کاربر می‌سازد و آن را پردازش می‌کند.

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
متد آسیب پذیر GetHashForWilcard()

اگر ورودی مخربی مشابه مورد قبلی به این متد ارسال شود، سرور Ivanti EPM را می‌توان وادار به ارسال درخواست به یک مسیر UNC  از راه دور کرد.

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
اکسپلویت این آسیب پذیری برای اضافه کردن یک حساب اکتیو دایرکتوری

آسیب‌پذیری CVE-2024-13161

متد GetHashForSingleFile() در این کلاس یک آرگومان رشته‌ای به نام strFileName دریافت کرده و آن را به HashCalculator.GetHashForSingleFile() ارسال می‌کند.

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
ساختار متد GetHashForSingleFile()

تحلیل کد نشان می‌دهد که این متد احتمالاً به‌طور پیش‌فرض مسیر UNC را به‌عنوان ورودی مجاز می‌پذیرد. مشکل اینجاست که این عملکرد در دسترس یک کاربر احراز هویت‌نشده قرار دارد:

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
عملکرد خطرناک متد ()GetHashForSingleFile بدون احراز هویت

نمونه‌ای از یک درخواست مخرب که می‌تواند از این مشکل سوءاستفاده کند در تصویر زیر نمایش داده شده است:

cisa-tags-critical-ivanti-epm-flaws-as-actively-exploited-in-attacks گروه والنربایت vulnerbyte
اکسپلویت این آسیب پذیری برای اضافه کردن یک حساب اکتیو دایرکتوری

این آسیب‌پذیری‌ها ابتدا در اکتبر ۲۰۲۴ توسط محقق امنیتی Zach Hanley از شرکت Horizon3.ai گزارش شدند و شرکت Ivanti در ۱۳ ژانویه ۲۰۲۵ پچ‌های امنیتی لازم را برای آن‌ها منتشر کرد.

افشای کد اثبات مفهوم (PoC)

تنها یک ماه پس از انتشار پچ‌ها، Horizon3.ai کدهای اثبات مفهوم (PoC) را منتشر کرد که می‌توانند برای اجرای حملات رله‌ای و سرقت اطلاعات ورود به سیستم Ivanti EPM مورد استفاده قرار گیرند.

هشدار CISA و توصیه‌های امنیتی

CISA روز 10 مارس این سه آسیب‌پذیری را به فهرست آسیب‌پذیری‌های شناخته‌شده قابل اکسپلویت (KEV) خود اضافه کرد. طبق دستورالعمل BOD 22-01 که در نوامبر ۲۰۲۱ صادر شده، نهادهای فدرال موظف‌اند تا ۳۱ مارس ۲۰۲۵ سیستم‌های خود را در برابر این حملات ایمن کنند.

CISA تأکید کرده است که این نوع آسیب‌پذیری‌ها بردارهای حمله رایجی برای مهاجمان سایبری هستند و خطرات جدی برای زیرساخت‌های فدرال ایجاد می‌کنند و اگرچه BOD 22-01 فقط برای نهادهای فدرال اجرایی مدنی (FCEB) الزامی است، اما به تمام سازمان‌ها توصیه می‌شود که این نقص‌های امنیتی را به‌سرعت برطرف کنند.

با این حال، شرکت Ivanti هنوز مشاوره امنیتی(security advisory) خود را به‌روزرسانی نکرده است تا مشخص کند که آیا این آسیب‌پذیری‌ها به‌طور فعال در حملات سایبری مورد بهره‌برداری قرار گرفته‌اند یا خیر.

منابع:

همچنین ممکن است دوست داشته باشید

پیام بگذارید