CVE-2026-41328
Təsvir
Dgraph açıq mənbəli paylanmış GraphQL verilənlər bazasıdır. 25.3.3 versiyasından əvvəl Dgraph-da autentifikasiya olunmamış hücumçuya verilənlər bazasındakı hər bir məlumata tam oxuma girişi verən zəiflik aşkar edilmişdir. Bu, ACL-in aktiv edilmədiyi standart Dgraph konfiqurasiyasına təsir edir. Hücum üçün 8080 portuna iki HTTP POST sorğusu tələb olunur. Birincisi, /alter vasitəsilə (standart konfiqurasiyada bu da autentifikasiyasızdır) @unique @index(exact) @lang ilə sxem predikatını qurur. İkincisi isə /mutate?commitNow=true ünvanına xüsusi hazırlanmış JSON mutasiyası göndərir; burada JSON açarı predikat adını, ardınca @ simvolunu və dil teqi mövqeyində DQL inyeksiya yükünü ehtiva edir. İnyeksiya edgraph/server.go faylındakı addQueryIfUnique funksiyasından istifadə edir; həmin funksiya təmizlənməmiş və xam pred.Lang dəyərini ehtiva edən predicateName ilə fmt.Sprintf vasitəsilə DQL sorğuları qurur. Lang sahəsi x.PredicateLang() tərəfindən JSON mutasiya açarlarından @ simvolu üzrə bölünərək çıxarılır və kod bazasında heç bir funksiya tərəfindən yoxlanılmır. Hücumçu eq() funksiyasından çıxmaq üçün bağlayıcı mötərizə inyeksiya edir, ixtiyari adlandırılmış sorğu bloku əlavə edir və sonda qalan şablon sintaksisini neytrallaşdırmaq üçün # şərhindən istifadə edir. İnyeksiya edilmiş sorğu server tərəfdə icra olunur və onun nəticələri HTTP cavabında qaytarılır. Bu zəiflik 25.3.3 versiyasında aradan qaldırılıb.
Necə düzəltmək olar
- dgraph dgraph25.3.3 və ya daha yeni versiya
- github.com/dgraph-io/dgraph/v2525.3.3 və ya daha yeni versiya
- github.com/hypermodeinc/dgraph/v2424.1.9 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| dgraph dgraph | v < 25.3.3 | 25.3.3 |
| github.com/dgraph-io/dgraph/v25Go | v < 25.3.3 | 25.3.3 |
| github.com/dgraph-io/dgraph/v24Go | v ≤ 24.1.8 | — |
| github.com/dgraph-io/dgraphGo | v ≤ 1.2.8, Aralıq göstərilməyib | — |
| github.com/hypermodeinc/dgraph/v24Go | v < 24.1.9 | 24.1.9 |
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.