Grafana nieprawidłowo waliduje tożsamość użytkowników Azure AD, opierając się wyłącznie na polu email z tokenu, które nie jest unikalne i może być dowolnie zmieniane. W konfiguracji z wielodostępną aplikacją Azure AD (multi-tenant) umożliwia to przejęcie kont innych użytkowników bez znajomości ich hasła.
▸ Pokaż oryginał (EN)
Grafana is validating Azure AD accounts based on the email claim. On Azure AD, the profile email field is not unique and can be easily modified. This leads to account takeover and authentication bypass when Azure AD OAuth is configured with a multi-tenant app.
Grafana podczas uwierzytelniania przez Azure AD OAuth weryfikuje tożsamość użytkownika na podstawie wartości pola 'email' zawartego w claims tokenu. Pole to w Azure AD nie jest globalnie unikalne — każdy użytkownik może ustawić dowolny adres email w swoim profilu. Atakujący może utworzyć lub zmodyfikować konto Azure AD tak, aby pole email odpowiadało adresowi ofiary, a następnie zalogować się do instancji Grafana jako ta ofiara. W przypadku aplikacji wielodostępnych (multi-tenant) atakujący nie musi nawet należeć do tej samej organizacji Azure AD co ofiara.
Atakujący może przejąć konto dowolnego użytkownika Grafana korzystającego z logowania przez Azure AD OAuth, uzyskując pełny dostęp do jego zasobów, dashboardów i uprawnień — włącznie z kontem administratora, co prowadzi do kompromitacji całej instancji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://grafana.com/security/security-advisories/cve-2023-3128/). Dodatkowo, do czasu aktualizacji, zaleca się ograniczenie logowania przez Azure AD OAuth lub przejście na konfigurację single-tenant oraz włączenie weryfikacji opartej na unikalnych identyfikatorach (np. Object ID) zamiast pola email.
Wszystkie instancje Grafana skonfigurowane do uwierzytelniania przez Azure AD OAuth z wielodostępną aplikacją (multi-tenant Azure AD app). Szczegółowe wersje wskazane w referencjach producenta.
Podatność dotyczy wyłącznie instancji Grafana korzystających z Azure AD OAuth skonfigurowanego jako aplikacja wielodostępna (multi-tenant). Konfiguracje single-tenant lub inne metody uwierzytelniania nie są podatne.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:LGrafana
APPGrafana6.7.0 – 8.5.27 (bez)9.2.0 – 9.2.20 (bez)9.3.0 – 9.3.16 (bez)9.4.0 – 9.4.13 (bez)9.5.0 – 9.5.4 (bez)
Powiązane podatności
Grafana – ominięcie uwierzytelnienia i nieuprawniony dostęp do snapshotów
RCE w Grafana przez SQL Expressions i plugin Enterprise (CVE-2026-27876)
Grafana Enterprise: privilege escalation przez SCIM provisioning (LPE)
Grafana: command injection i local file inclusion przez SQL Expressions (duckdb)
Race condition w Grafana umożliwia nieautoryzowany dostęp do endpointów administracyjnych