Geri qayıt

Kritik Autentifikasiyadan Əvvəlki MongoDB Zəifliyi (CVE-2026-118383) Failover Zamanı Geridə Qalan Serverləri Çökə Bilər
SiTech AI Team3 dəq oxu

Kritik Autentifikasiyadan Əvvəlki MongoDB Zəifliyi (CVE-2026-118383) Failover Zamanı Geridə Qalan Serverləri Çökə Bilər

MongoDB CVE-2026-118383 üçün düzəlişlər buraxdı: kritik pre-authentication use-after-free zəifliyi, iki autentifikasiyasız ping sorğusundan sonra geridə qalaraq seçkidə qalib gələn replica set üzvünü çökə bilər.

MongoDB CVE-2026-118383 üçün düzəlişli versiyalar buraxdı; bu, MongoDB Server-də kritik autentifikasiyadan əvvəlki zəiflikdir və replikasiya üzrə geridə qalaraq seçkidə qalib gələn replica set üzvünü, iki autentifikasiyasız sorğu aldıqdan sonra çökə bilər. Zəiflik CVSS 4.0 şkalasında 10 üzərindən 9,5 balla qiymətləndirilən use-after-free zəifliyidir. Təsirə məruz qalan üzvlərə replica set üzvləri və sharded klasterlərin shard və config server üzvləri daxildir, standalone mongod isə təsirlənmir.

Zəiflik necə işləyir

Zəif versiyalarda autentifikasiyanı aktivləşdirmək iki sorğunu dayandırmır. Onlar readConcern.afterOpTime dəyərini daşıyan ping əmrləridir və hər biri serverdən replikasiyanın müəyyən nöqtəyə çatmasını gözləməyi xahiş edir, bu isə waiter adlanan gözləyən bildiriş yaradır. Waiter-lərin vaxtı bitmir və üzv yenidən başladılanadək, geri qaytarılanadək və ya primary rolundan çəkilənədək qalır. Çöküş o zaman baş verir ki, həmin sorğuları almış üzv başqa bir üzvdən geridə olmasına baxmayaraq sonradan seçkidə qalib gəlir; catch-up bitəndə təmizləmə iki dəfə işləyir və azad edilmiş yaddaşı yenidən istifadə edir, bu da yeni primary yazmaları qəbul etməzdən əvvəl çökür. Tədqiqatçılar bildirib ki, həmin şərtlər ödənəndən sonra çöküş vaxt yarışını qazanmaqdan asılı deyil və hücumçu hədəf üzvü geridə qoymağa və ya seçkidə qalib gəlməyə, yaxud bunların nə vaxt baş verdiyini görməyə qadir deyil.

Təsirə məruz qalan versiyalar və düzəlişlər

MongoDB hər təsirə məruz qalan budaq üçün düzəlişli versiya buraxdı və bir budaqdakı hər daha əvvəlki versiya budağın ilk buraxılışından təsirlənir. Özü idarə olunan quraşdırmalarda düzəlişli buraxılış hər replica set üzvündə olmalıdır və yeniləmədən sonra administratorlar hər üzvün işlətdiyi versiyanı yoxlamalıdır, o cümlədən konteynerlərdəki üzvləri və texniki xidmət zamanı oflayn olmuş üzvləri. MongoDB Atlas klasterləri texniki xidmət zamanı avtomatik olaraq düzəlişli versiyalar alır və texniki xidməti təxirə salan müştərilər yeniləməni mümkün qədər tez tətbiq etməlidir. 8.2 budağı təsirə məruz qalan versiyalar siyahısında deyil və onun ən yeni buraxılışı 8.2.12-dir, lakin GitHub-da dərc olunmuş proof of concept bildirir ki, 8.2.12 yalnız test üçün nəzərdə tutulmuş parametrdən istifadə edən laboratoriya testində hələ də xətanı göstərmişdir. Şirkətin həyat dövrü cədvəlinə görə 8.2 budağı iyulun 31-də istifadə müddətinin sonuna çatdı.

Aşkarlama və zərərin azaldılması

Üzv yenilənənə qədər tədqiqatçılar verilənlər bazasına şəbəkə girişini yalnız ona ehtiyacı olan sistemlərlə məhdudlaşdırmağı tövsiyə edirlər; bu, iki sorğunu kimin göndərə biləcəyini məhdudlaşdırır, lakin zəifliyi düzəltmir. Waiter yerləşdirmə və ya çöküş axtarmaq üçün strukturlaşdırılmış loglarda ID 51803 ilə COMMAND Slow query girişini, readConcern.afterOpTime daşıyan və MaxTimeMSExpired ilə bitən autentifikasiyasız ping üçün; bir üzvün ID 21359 ilə primary catch-up-a daxil olması və sonra bir keçiddə ID 21363 ilə iki dəfə çıxması; və həmin çıxışlardan sonra CatchupState::abort_inlock() ilə ölümcül siqnal və ya backtrace yoxlayın. Sorğular failover-dan əvvəl gələ bilər, ona görə eyni üzvün daha əvvəlki logları da yoxlanmalıdır.

Kod icrası iddiaları

MongoDB bildirir ki, zəiflik müəyyən şərtlər altında server prosesində ixtiyari kod icrasına da səbəb ola bilər. Laboratoriyada tədqiqatçılar kod icrasına nail olmadıqlarını söyləyib və nəticələri hücumun digər qurğularda nə qədər işləyəcəyini göstərmir. Proof-of-concept kodu laboratoriya replica set-də xətanı təkrarlayır; onun etibarlı rejimi uzaq hücumçunun aktivləşdirə bilməyəcəyi yalnız test üçün nəzərdə tutulmuş parametr tələb edir və bəyan edilmiş təsiri çöküş və ya yaddaş korruptsiyasıdır. Autentifikasiya söndürülmüş proof-of-concept laboratoriya testində düzəlişli 8.0.37 yerləşdirilmiş waiter-ləri qəbul etdi, lakin təmizləməni yalnız bir dəfə işlətdi.

Mənbələr: The Hacker News

SiTech

SiTech — AI ilə gücləndirilmiş veb hazırlanması

Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.