MongoDB פרסמה תיקון לפגיעות CVE-2026-118383 בציון CVSS 4.0 של 9.5, שמאפשרת לשולח בקשות לא מאומתות להפיל חבר ב-replica set אחרי שהוא נבחר לראשי כשהוא מפגר. המשמעות המעשית היא השבתת שירות בדיוק ברגע failover.

| מזהה | CVE-2026-118383 |
| מוצר מושפע | חברי replica set של MongoDB Server, כולל shard ו-config servers; mongod עצמאי לא מושפע. רשימת הענפים המושפעים: ראו הודעת היצרן |
| חומרה | 9.5 (קריטית, לפי MongoDB) |
| מנוצל בפועל | לא. MongoDB מצהירה שאינה מודעת לניסיונות ניצול; קיים PoC פומבי |
| תיקון | קיים, למשל 8.0.37; ב-Atlas מתעדכן אוטומטית בחלון התחזוקה |
מה קרה
לפי הניתוח של Datadog Security Labs, שתי בקשות ping לא מאומתות עם readConcern.afterOpTime יוצרות ממתינים שלא פגים עד אתחול, rollback או step-down. אם החבר הזה נבחר מאוחר יותר לראשי כשהוא מפגר, ניקוי שלב ה-catch-up רץ פעמיים על זיכרון ששוחרר, והראשי החדש קורס לפני שקיבל כתיבות.
החוקרים לא השיגו הרצת קוד, ו-MongoDB אומרת שזה עשוי להיות אפשרי בתנאים מסוימים. התיקון מגביל את afterOpTime למשתמשי מערכת ומטפל גם בניקוי הכפול.
נקודות לשים לב
- עדכן את כל חברי ה-replica set, כולל קונטיינרים וחברים שהיו כבויים, ואמת גרסאות. עדכון חלקי משאיר חבר פגיע שיכול להיבחר.
- ענף 8.2 לא מופיע כמושפע, אך דווח על שחזור ב-8.2.12 עם הגדרת בדיקה. הענף הגיע לסוף חיים ב-31 ביולי ולא יקבל תיקוני אבטחה.
- הגבלת גישת רשת לשרתים הנדרשים מצמצמת את מי שיכול לשלוח את הבקשות, אך אינה תיקון.
- בלוגים חפש רשומת slow-query מספר 51803 עם
pingלא מאומת שנגמר ב-MaxTimeMSExpired, ורשומות 21359 ו-21363 ואחריהן קריסה עםCatchupState::abort_inlock(). שדות הבקשה עשויים לא להירשם, תלוי בהגדרות.
מקורות: Datadog Security Labs · MongoDB · The Hacker News

₿ אהבת את הפוסט?
אפשר לשלוח לי ביטקוין ישירות לכתובת שלי. סרקו את הקוד, או העתיקו את הכתובת:
bc1qsn043qmlv4ejxydeknkfm9u6e93e6tegmq9x85
שימו לב: העברה on-chain כרוכה בעמלת רשת שאינה תלויה בסכום, ולכן סכומים קטנים מאוד אינם כדאיים.