Dgraph w wersjach przed 25.3.3 ujawnia pełną linię poleceń procesu przez niechroniony endpoint /debug/vars, co umożliwia nieuwierzytelnionemu atakującemu odczytanie tokenu administracyjnego i uzyskanie pełnego dostępu do funkcji administracyjnych. Podatność jest wariantem wcześniej częściowo naprawionego problemu z /debug/pprof/cmdline.
▸ Pokaż oryginał (EN)
Dgraph is an open source distributed GraphQL database. Prior to 25.3.3, Dgraphl exposes the process command line through the unauthenticated /debug/vars endpoint on Alpha. Because the admin token is commonly supplied via the --security "token=..." startup flag, an unauthenticated attacker can retrieve that token and replay it in the X-Dgraph-AuthToken header to access admin-only endpoints. This is a variant of the previously fixed /debug/pprof/cmdline issue, but the current fix is incomplete because it blocks only /debug/pprof/cmdline and still serves http.DefaultServeMux, which includes expvar's /debug/vars handler. This vulnerability is fixed in 25.3.3.
Dgraph Alpha udostępnia endpoint /debug/vars bez żadnego uwierzytelnienia, który jest obsługiwany przez standardowy mechanizm http.DefaultServeMux biblioteki Go (expvar). Ponieważ token administracyjny jest typowo przekazywany przy starcie aplikacji jako argument wiersza poleceń (--security "token=..."), jego wartość jest widoczna w danych eksponowanych przez ten endpoint. Atakujący może odczytać token z odpowiedzi HTTP, a następnie użyć go w nagłówku X-Dgraph-AuthToken, aby uzyskać dostęp do endpointów zarezerwowanych wyłącznie dla administratorów. Poprzednia poprawka blokowała jedynie ścieżkę /debug/pprof/cmdline, pozostawiając /debug/vars bez zabezpieczenia.
Nieuwierzytelniony atakujący zdalnie może przejąć pełne uprawnienia administracyjne do instancji Dgraph, co prowadzi do naruszenia poufności, integralności i dostępności danych przechowywanych w bazie.
Należy zaktualizować Dgraph do wersji 25.3.3, w której podatność została naprawiona. Patch dostępny jest w repozytorium GitHub pod adresem: https://github.com/dgraph-io/dgraph/releases/tag/v25.3.3. Tymczasowo, do czasu aktualizacji, należy rozważyć zablokowanie dostępu sieciowego do endpointu /debug/vars na poziomie firewall lub proxy.
Dgraph (open source distributed GraphQL database) we wszystkich wersjach przed 25.3.3
Podatność jest wariantem wcześniej zgłoszonego i częściowo naprawionego problemu z /debug/pprof/cmdline — poprzednia poprawka okazała się niekompletna, ponieważ nie obejmowała handlera expvar serwowanego przez http.DefaultServeMux.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDgraph
APPDgraph< 25.3.3
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 niezabezpieczony endpoint /debug/pprof/cmdline
Dgraph: nieuwierzytelniony dostęp do mutacji restoreTenant (SSRF, RCE danych)
Dgraph is an open source distributed GraphQL database. Existing Dgraph audit logs are vulnerable to brute forc...