یک آسیبپذیری امنیتی با شدت بالا در MongoDB افشا شده است که میتواند به مهاجمان بدون نیاز به احراز هویت اجازه دهد بخشهایی از حافظه Heap مقداردهینشده را بخوانند.
این آسیبپذیری با شناسه CVE-2025-14847 و امتیاز CVSS: 8.7 ثبت شده و به عنوان نمونهای از مدیریت نادرست ناسازگاری پارامتر طول (Improper Handling of Length Parameter Inconsistency) توصیف میشود؛ وضعیتی که زمانی رخ میدهد که یک برنامه نتواند اختلاف بین مقدار فیلد طول و طول واقعی داده مرتبط را بهدرستی مدیریت کند.
بر اساس توضیح منتشرشده در CVE.org:
«عدم تطابق فیلدهای طول در هدرهای پروتکل فشردهشده با Zlib میتواند به یک کلاینت بدون احراز هویت اجازه دهد دادههای مقداردهینشده موجود در حافظه Heap را بخواند.»
نسخههای آسیبپذیر MongoDB
این آسیبپذیری نسخههای زیر از MongoDB را تحت تأثیر قرار میدهد:
MongoDB 8.2.0 تا 8.2.3
MongoDB 8.0.0 تا 8.0.16
MongoDB 7.0.0 تا 7.0.26
MongoDB 6.0.0 تا 6.0.26
MongoDB 5.0.0 تا 5.0.31
MongoDB 4.4.0 تا 4.4.29
تمام نسخههای MongoDB Server v4.2
تمام نسخههای MongoDB Server v4.0
تمام نسخههای MongoDB Server v3.6
نسخههای اصلاحشده (Patch شده)
این مشکل امنیتی در نسخههای زیر برطرف شده است و پچ امنیتی رسمی برای آنها منتشر شده:
MongoDB 8.2.3
MongoDB 8.0.17
MongoDB 7.0.28
MongoDB 6.0.27
MongoDB 5.0.32
MongoDB 4.4.30
MongoDB در بیانیهای اعلام کرد:
«یک اکسپلویت سمت کلاینت از پیادهسازی Zlib در سرور میتواند بدون احراز هویت، دادههای مقداردهینشده حافظه Heap را بازگرداند. ما بهشدت توصیه میکنیم در سریعترین زمان ممکن به نسخههای اصلاحشده ارتقا دهید.»
راهکار موقت (Mitigation) در صورت عدم امکان پچ فوری
در صورتی که امکان بروزرسانی فوری MongoDB وجود نداشته باشد، توصیه میشود فشردهسازی Zlib در سرور MongoDB غیرفعال شود.
این کار با اجرای mongod یا mongos و تنظیم یکی از گزینههای زیر امکانپذیر است:
networkMessageCompressorsnet.compression.compressors
در این تنظیمات باید بهصورت صریح zlib حذف شود.
MongoDB از گزینههای فشردهسازی جایگزین زیر پشتیبانی میکند:
snappy
zstd
ریسک و پیامدهای امنیتی
شرکت OP Innovate در تحلیل خود اعلام کرده است:
«CVE-2025-14847 به یک مهاجم راه دور و بدون احراز هویت اجازه میدهد شرایطی ایجاد کند که در آن سرور MongoDB دادههای مقداردهینشده موجود در Heap را بازگرداند.»
این موضوع میتواند منجر به افشای اطلاعات حساس موجود در حافظه شود، از جمله:
اطلاعات وضعیت داخلی سرور
اشارهگرها (Pointers)
دادههای موقتی یا ساختاریافته دیگر
چنین اطلاعاتی میتواند به مهاجم در توسعه اکسپلویتهای پیشرفتهتر یا زنجیرهسازی حملات کمک کند و ریسک امنیتی محیط را بهطور قابل توجهی افزایش دهد.
جمعبندی Vulnerbyte
این آسیبپذیری یک نمونه جدی از خطرات ناشی از پیادهسازی نادرست فشردهسازی در پروتکلهای شبکهای است که حتی بدون احراز هویت میتواند منجر به افشای دادههای حساس شود.
سازمانهایی که از MongoDB در محیطهای Production استفاده میکنند، باید در اسرع وقت پچ امنیتی را اعمال کرده یا حداقل با غیرفعالسازی Zlib، سطح حمله را کاهش دهند.