آخرین اخبار
همهٔ اخبار
اکسپلویت‌ها گزارش بحرانیت ۲/۱۰

آسیب‌پذیری DoS در سرویس Memory ابزار memmy-agent؛ امکان توقف سرویس بدون احراز هویت

آسیب‌پذیری DoS در سرویس Memory ابزار memmy-agent؛ امکان توقف سرویس بدون احراز هویت

یک آسیب‌پذیری امنیتی با سطح اهمیت پایین در سرویس Memory متعلق به ابزار memmy-agent (محصول MemTensor) شناسایی شده است. این نقص به مهاجمان اجازه می‌دهد تا در صورت عدم پیکربندی توکن مدیریت (Admin Token)، سرویس را از طریق ارسال درخواست‌های غیرمجاز متوقف کرده و منجر به وقوع حمله Denial of Service (DoS) شوند.

جزئیات فنی و نحوه حمله

مشکل اصلی در تابع requireAdminWrite در فایل http.ts نهفته است. در حالت پیش‌فرض، زمانی که هیچ توکن مدیریتی برای سرویس تعریف نشده باشد، این تابع عملاً بی‌اثر شده و اجازه می‌دهد نقاط انتهایی (Endpoints) حساس مانند /api/v1/admin/shutdown بدون نیاز به احراز هویت (Unauthenticated) در دسترس قرار گیرند.

سناریوی حمله به شرح زیر است:

  • مهاجم یک صفحه وب مخرب را میزبانی می‌کند.
  • کاربری که سرویس memmy-agent را در سیستم خود (بدون توکن مدیریت) اجرا می‌کند، به صفحه مذکور مراجعه می‌کند.
  • صفحه مخرب یک درخواست Cross-Origin POST به نقطه انتهایی مربوط به خاموش کردن سرویس ارسال می‌کند.
  • سرویس درخواست را پذیرفته و عملیات Shutdown را انجام می‌دهد که منجر به از دسترس خارج شدن آن می‌شود.

محدودیت‌های حمله و سطح خطر

با وجود وجود کد اثبات مفهوم (PoC) عمومی، خطر واقعی این آسیب‌پذیری به دلیل عوامل زیر محدود است:

  • پیچیدگی بالا (High Complexity): حمله مستلزم تعامل کاربر (User Interaction) و رفتارهای خاص مرورگر در مدیریت درخواست‌های Cross-Origin است.
  • محدودیت طراحی: این نقطه انتهایی در اصل برای استفاده محلی (Local Use) طراحی شده است.
  • تاثیر محدود: این آسیب‌پذیری تنها بر در دسترس بودن (Availability) تاثیر می‌گذارد و هیچ تهدیدی برای محرمانگی (Confidentiality) یا یکپارچگی (Integrity) داده‌ها ندارد.

راهکارهای مقابله و اصلاح

برای جلوگیری از سوءاستفاده از این نقص، اقدامات زیر توصیه می‌شود:

  • پیکربندی توکن مدیریت: حتماً یک Admin Token تعریف کنید تا دسترسی‌های مدیریتی مستلزم احراز هویت باشند.
  • محدودسازی دسترسی شبکه: سرویس را به جای 0.0.0.0، تنها به Loopback (127.0.0.1) متصل (Bind) کنید.
  • استفاده از لایه‌های حفاظتی: در صورت نیاز به دسترسی شبکه، از یک Reverse Proxy یا WAF برای مسدود کردن مسیرهای /api/v1/admin/* و جلوگیری از درخواست‌های Cross-Origin استفاده کنید.