CVE-2026-80212
Təsvir
Ruby üçün resolv gem-inin 0.7.2 versiyasından əvvəlki versiyalarında bir problem aşkar edilmişdir. Resolv::DNS::Resource.get_class, Resolv::DNS::Resource::Generic.create və Resolv::DNS::SvcParam::Generic.create metodları cavab dekodlaşdırılarkən rast gəlinən hər bir naməlum DNS resurs yazısı (type, class) cütlüyü və ya hər bir naməlum SvcParamKey üçün yeni sinif yaradır. Yaradılan hər bir sinif həm Resource (və ya SvcParam::Generic) üzərində sabit (constant) kimi, həm də sinif-axtarış heşi (ClassHash) daxilində giriş kimi daimi olaraq qeydiyyata alınır və beləliklə, cavab atıldıqdan sonra da həmin sabit vasitəsilə sinfə müraciət etmək mümkün olur. Tip (type) və sinif (class) hər biri 16 bitlik dəyərlərdir və buna görə də DNS cavablarını idarə edən hücumçu (saxtalaşdırılmış cavab, yaxud zərərli və ya ələ keçirilmiş yuxarı səviyyəli DNS serveri) seçmək üçün təxminən 2^32 fərqli (type, class) cütlüyünə malikdir. On minlərlə fərqli naməlum tip daşıyan bir neçə yüz kilobaytlıq tək bir cavab proses yaddaşını daimi olaraq onlarla meqabayt artırır; təkrar cavablar limitsiz şəkildə toplanır və sabit hər bir sinfi aktiv saxladığı üçün onlar heç vaxt zibil yığan (garbage collection) tərəfindən geri qaytarılmır. Hücumçunun təsir etdiyi DNS cavabları üzərində Resolv::DNS::Message.decode metodunu çağıran bütün kod yolları bu problemdən təsirlənir. resolv standart gem olduğu üçün bu boşluğa heç bir əlavə asılılıq olmadan adi Ruby quraşdırmasından müraciət etmək mümkündür.
Necə düzəltmək olar
- Ruby resolv0.3.2, 0.7.2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Ruby resolv | v < 0.3.2, 0.4.0 ≤ v < 0.7.2 | 0.3.2, 0.7.2 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.