CVE-2026-102748
KrytyczneCVSS 9.2Streszczenie
W Dgraph przed wersją 25.4.0 Dgraph Zero rejestruje administracyjne trasy HTTP na porcie 6080 bez uwierzytelniania, gdy interfejs administracyjny jest włączony. Trasa /removeNode przyjmuje kontrolowane przez atakującego wartości id i group i przekazuje je do Server.RemoveNode, gdzie grupa 0 może wywołać ProposePeerRemoval. Zdalny nieuwierzytelniony atakujący, który może połączyć się z portem HTTP Zero, może odczytać topologię przez /state, przydzielić identyfikatory przez /assign, uzyskać dostęp do wystawionej trasy administracyjnej /moveTablet lub usunąć członkostwo przez /removeNode, zakłócając płaszczyznę kontrolną Zero i destabilizując węzły Alpha, które od niej zależą. Rejestracja tras odbywa się w dgraph/cmd/zero/run.go, a zademonstrowana ścieżka usuwania członkostwa prowadzi do Server.RemoveNode i ProposePeerRemoval.
Ocena ryzyka
Podatność pozwala nieuwierzytelnionemu atakującemu na zakłócenie działania klastra Dgraph poprzez manipulację topologią i usuwanie węzłów, co może prowadzić do destabilizacji lub niedostępności usługi. Stanowi to wysokie ryzyko dla dostępności i integralności systemu.
Rekomendacja
Należy niezwłocznie zaktualizować Dgraph do wersji 25.4.0 lub nowszej. Do czasu aktualizacji zaleca się ograniczenie dostępu do portu 6080 oraz wdrożenie uwierzytelniania na poziomie sieci.
Inne podatności w Dgraph
Zobacz wszystkie- CVE-2026-54061Krytyczne
Dgraph Alpha przed wersją 25.3.5 udostępnia niezabezpieczone RPC do importu snapshotów na publicznym porcie gRPC :9080. Nieuwierzytelniony klient sieciowy może otworzyć strumień StreamExtSnapshot i wysłać dane Badger do docelowego magazynu, co prowadzi do usunięcia i zastąpienia istniejących danych.
- CVE-2026-63637Wysokie
Dgraph przed wersją 25.3.8 w funkcji maybeQuoteArg w graphql/resolve/query_rewriter.go przekazuje filtry wyrażeń regularnych do generowanego DQL bez odpowiedniego cytowania lub walidacji, co pozwala na wstrzyknięcie operatorów DQL, ujawnienie niezamierzonych węzłów lub rozszerzenie celów modyfikacji i usuwania. Problem naprawiono w wersji 25.3.8.
- CVE-2026-44840Wysokie
W Dgraph przed wersją 25.3.4 wykryto podatność na wstrzykiwanie DQL w zapytaniu GraphQL `checkUserPassword`. Wartości haseł dostarczane przez użytkownika są bezpośrednio interpolowane do zapytania DQL `checkpwd()` za pomocą `fmt.Sprintf` bez żadnego oczyszczania lub parametryzacji. Atakujący może wstrzyknąć hasło zawierające cudzysłów, aby wydostać się z literału łańcuchowego DQL i dołączyć dowolne bloki zapytań DQL.
Oryginalny opis (angielski, źródło NVD)
Dgraph is an open source distributed GraphQL database. Prior to 25.4.0, Dgraph Zero registers administrative HTTP routes on port 6080 without authentication when the administrative interface is enabled. The /removeNode route accepts attacker-controlled id and group values and passes them to Server.RemoveNode, where group 0 can trigger ProposePeerRemoval. A remote unauthenticated attacker who can reach the Zero HTTP port can read topology through /state, allocate identifiers through /assign, access the exposed /moveTablet administrative route, or remove membership through /removeNode, disrupting the Zero control plane and destabilizing Alpha nodes that depend on Zero. The route registration occurs in dgraph/cmd/zero/run.go, and the demonstrated membership-removal path reaches Server.RemoveNode and ProposePeerRemoval. This issue is fixed in version 25.4.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

