- بواسطة x32x01 ||
لو بتستخدم MongoDB على السيرفر، لازم تاخد بالك من ثغرة خطيرة اسمها MongoBleed
الثغرة دي بتسمح لأي شخص إنه يقرا بيانات من السيرفر من غير تسجيل دخول نهائي، وده خطر كبير جدًا على أي مشروع.
المشكلة مش في MongoDB نفسها بشكل مباشر، لكن في مكتبة الضغط المشهورة zlib اللي MongoDB بتستخدمها.
الثغرة بتحصل إزاي؟
اللي بيحصل ببساطة إن فيه لخبطة في حساب طول البيانات المضغوطة داخل مكتبة zlib،فالهاكر يقدر يستغل الغلطة دي ويخلّي السيرفر يرجعله بيانات من الذاكرة (Memory)
يعني:
مفيش Login
مفيش Auth
قراءة بيانات حساسة من السيرفر
مين الإصدارات المتأثرة بالثغرة؟
للأسف، الثغرة دي موجودة في إصدارات كتير جدًا قديمة وجديدة، زي:- MongoDB 8.2 - 8.0 - 7.0 - 6.0 - 5.0 - 4.4
- كل إصدارات 4.2 - 4.0 - 3.6
الحل الأساسي: التحديث الفوري
شركة MongoDB نزلت تحديثات رسمية لحل المشكلة زي مثلًا:
- 8.2.3
- 8.0.17
- 7.0.28
حل مؤقت لو مش قادر تحدث دلوقتي
لو مش متاح إنك تعمل تحديث في الوقت الحالي، تقدر تمشي بالحل المؤقت ده تعطيل zlib واستخدام بديل آمن
تقدر توقف zlib من إعدادات MongoDB وتستخدم بدائل آمنة زي:- snappy
- zstd
مثال إعدادات (mongod.conf):
Code:
net:
compression:
compressors: zstd,snappy
نصيحة مهمة لأصحاب السيرفرات
- دايمًا تابع تحديثات MongoDB Security
- اقفل أي خدمة مش محتاجها
- متسيبش الداتا مكشوفة حتى لو السيرفر داخلي