یک نقص امنیتی بحرانی در سرور MongoDB کشف شده است که به مهاجمان اجازه میدهد بدون نیاز به احراز هویت (Unauthenticated)، با ارسال دو درخواست خاص، باعث از کار افتادن (Crash) سرور پایگاه داده شوند. این مشکل زمانی رخ میدهد که سرور آسیبپذیر، در فرآیند انتخاب سرور اصلی (Failover) به عنوان Primary انتخاب شود، در حالی که هنوز با دادههای جدید همگام (Sync) نشده است.
جزئیات فنی و مکانیزم حمله
این آسیبپذیری که با شناسه CVE-2026-118383 شناخته میشود، از نوع Use-after-free است؛ یعنی سرور سعی میکند از حافظهای استفاده کند که قبلاً آزاد شده است. طبق تحلیلهای فنی، این نقص در نسخههای آسیبپذیر از نوع Replica Set (گروهی از سرورها که دادهها را کپی میکنند) مشاهده شده است.
مهاجم میتواند با ارسال دو دستور ping که حاوی مقدار readConcern.afterOpTime هستند، وضعیتهایی را در حافظه ایجاد کند که به آنها “waiter” گفته میشود. این درخواستها باعث میشوند سرور منتظر رسیدن به یک نقطه خاص از بازسازی دادهها بماند. اگر سرورِ دارای این “waiter”ها، در یک فرآیند انتخاب (Election) به عنوان Primary انتخاب شود، در هنگام اتمام مرحله همگامسازی (Catch-up)، فرآیند پاکسازی حافظه دو بار اجرا شده و منجر به Segmentation fault و از کار افتادن سرور میشود.
میزان خطر و تأثیرات احتمالی
MongoDB این آسیبپذیری را با امتیاز 9.5 از 10 در مقیاس CVSS 4.0 بسیار بحرانی ارزیابی کرده است. اگرچه در آزمایشهای انجام شده، اجرای کد از راه دور (RCE) به طور مستقیم محقق نشده، اما این شرکت هشدار داده است که در شرایط خاص، این نقص میتواند منجر به Arbitrary Code Execution شود.
- محدوده آسیبپذیری: اعضای Shard و Config server در خوشههای Sharded. سرورهای standalone (تکسروره) تحت تأثیر قرار نمیگیرند.
- وضعیت نسخهها: تمامی نسخههای قدیمیتر در شاخههای مربوطه آسیبپذیر هستند. نکته مهم این است که شاخه 8.2 که از نظر شرکت به پایان عمر (EOL) رسیده، همچنان در آزمایشهای آزمایشگاهی (PoC) آسیبپذیر نشان داده شده است.
اقدامات اصلاحی و پیشنهادات
برای مقابله با این تهدید، اقدامات زیر توصیه میشود:
- بهروزرسانی فوری: نصب آخرین نسخههای اصلاحشده (مانند 8.0.37) بر روی تمامی اعضای Replica Set.
- مدیریت MongoDB Atlas: خوشههای Atlas بهصورت خودکار در طول زمان نگهداری (Maintenance) بهروز میشوند، اما مشتریانی که بهروزرسانی را به تعویق میاندازند باید سریعاً اقدام کنند.
- محدودسازی دسترسی شبکه: تا زمان اعمال پَچ امنیتی، دسترسی شبکه به پایگاه داده را تنها به سیستمهای ضروری محدود کنید تا از ارسال درخواستهای مخرب توسط عوامل غیرمجاز جلوگیری شود.