Podatność w Dgraph pozwala nieuwierzytelnionemu atakującemu na wykonanie mutacji administracyjnej restoreTenant bez jakiejkolwiek weryfikacji tożsamości. Umożliwia to nadpisanie całej bazy danych, odczyt plików po stronie serwera oraz przeprowadzenie ataku SSRF — co przy ocenie CVSS 10.0 czyni ją ekstremalnie krytyczną.
▸ Pokaż oryginał (EN)
Dgraph is an open source distributed GraphQL database. Prior to 25.3.1, the restoreTenant admin mutation is missing from the authorization middleware config (admin.go), making it completely unauthenticated. Unlike the similar restore mutation which requires Guardian-of-Galaxy authentication, restoreTenant executes with zero middleware. This mutation accepts attacker-controlled backup source URLs (including file:// for local filesystem access), S3/MinIO credentials, encryption key file paths, and Vault credential file paths. An unauthenticated attacker can overwrite the entire database, read server-side files, and perform SSRF. This vulnerability is fixed in 25.3.1.
Mutacja restoreTenant nie została uwzględniona w konfiguracji middleware autoryzacyjnego (plik admin.go), przez co jest całkowicie pozbawiona jakiegokolwiek mechanizmu uwierzytelniania — w przeciwieństwie do podobnej mutacji restore, która wymaga uwierzytelnienia na poziomie Guardian-of-Galaxy. Atakujący może przekazać do mutacji kontrolowane przez siebie adresy URL źródeł backupu, w tym schematy file:// umożliwiające dostęp do lokalnego systemu plików, dane uwierzytelniające do S3/MinIO, ścieżki do plików kluczy szyfrowania oraz ścieżki do plików credentiali Vault. Żądanie można wysłać bez żadnych nagłówków autoryzacyjnych bezpośrednio do interfejsu administracyjnego.
Nieuwierzytelniony atakujący może całkowicie nadpisać bazę danych, odczytywać dowolne pliki po stronie serwera (w tym klucze szyfrowania i pliki konfiguracyjne) oraz wykonywać ataki SSRF na wewnętrzną infrastrukturę sieciową. W praktyce skutkuje to pełną utratą poufności, integralności i dostępności danych.
Należy zaktualizować Dgraph do wersji 25.3.1, w której podatność została naprawiona. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do interfejsu administracyjnego Dgraph wyłącznie do zaufanych hostów za pomocą firewalla lub reguł sieciowych.
Dgraph w wersjach wcześniejszych niż 25.3.1
Poprawka dostępna w wersji 25.3.1. Szczegóły opublikowane w GitHub Security Advisory GHSA-p5rh-vmhp-gvcw.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HDgraph
APPDgraph≤ 25.3.0
Powiązane podatności
Dgraph — wstrzyknięcie zapytania DQL umożliwia nieautoryzowany odczyt danych
DQL injection w Dgraph — nieuwierzytelniony pełny odczyt bazy danych
Dgraph: ujawnienie tokenu admina przez endpoint /debug/vars bez uwierzytelnienia
Dgraph: ujawnienie tokenu admina przez niezabezpieczony endpoint /debug/pprof/cmdline
Dgraph is an open source distributed GraphQL database. Existing Dgraph audit logs are vulnerable to brute forc...