CVE-2026-41328
Açıklama
Dgraph, açık kaynaklı dağıtık bir GraphQL veritabanıdır. 25.3.3 sürümünden önce, kimliği doğrulanmamış bir saldırgana veritabanındaki her veri parçasına tam okuma erişimi veren bir güvenlik açığı tespit edilmiştir. Bu durum, ACL'nin etkinleştirilmediği varsayılan Dgraph yapılandırmasını etkilemektedir. Saldırı, 8080 portuna iki adet HTTP POST isteği gerektirir. İlk istek, /alter üzerinden (varsayılan yapılandırmada bu da kimlik doğrulamasızdır) @unique @index(exact) @lang ile bir şema yüklemi oluşturur. İkincisi ise, bir JSON anahtarının yüklem adını takip eden @ işareti ve dil etiketi konumunda bir DQL enjeksiyonu yükü içerdiği, /mutate?commitNow=true adresine özel olarak hazırlanmış bir JSON mutasyonu gönderir. Enjeksiyon, ham pred.Lang değerini içeren temizlenmemiş predicateName ile fmt.Sprintf kullanarak DQL sorguları oluşturan edgraph/server.go dosyasındaki addQueryIfUnique fonksiyonunu istismar eder. Lang alanı, @ işaretine göre ayırma yapan x.PredicateLang() tarafından JSON mutasyon anahtarlarından çıkarılır ve kod tabanındaki hiçbir fonksiyon tarafından doğrulanmaz. Saldırgan, eq() fonksiyonundan çıkmak için kapatma parantezi ekler, rastgele bir adlandırılmış sorgu bloğu ekler ve sondaki şablon sözdizimini etkisiz hale getirmek için # yorum satırını kullanır. Enjekte edilen sorgu sunucu tarafında yürütülür ve sonuçları HTTP yanıtında döndürülür. Bu güvenlik açığı 25.3.3 sürümünde giderilmiştir.
Nasıl düzeltilir
- dgraph dgraph25.3.3 ya da sonraki bir sürüm
- github.com/dgraph-io/dgraph/v2525.3.3 ya da sonraki bir sürüm
- github.com/hypermodeinc/dgraph/v2424.1.9 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| 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ık belirtilmemiş | — |
| github.com/hypermodeinc/dgraph/v24Go | v < 24.1.9 | 24.1.9 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.