Podatność w Metabase umożliwia uwierzytelnionemu administratorowi wykonanie dowolnego kodu Java na serwerze poprzez zarejestrowanie spreparowanego połączenia z bazą danych H2. Mimo wymogu uprawnień administratora, skutki są krytyczne — pełne przejęcie serwera aplikacji.
▸ Pokaż oryginał (EN)
Metabase is an open-source business intelligence and embedded analytics tool. From 1.55.0 until 1.58.15.1, 1.59.12, 1.60.6.3, and 1.61.2, Metabase did not validate unsafe H2 connection properties on one database-creation code path, allowing an authenticated administrator to register a crafted H2 database connection and execute arbitrary Java code on the Metabase server. This issue is fixed in versions 1.58.15.1, 1.59.12, 1.60.6.3, and 1.61.2.
Metabase w wersjach od 1.55.0 do wskazanych poprawionych wydań nie walidował niebezpiecznych właściwości połączenia H2 na jednej ze ścieżek kodu służącej do tworzenia baz danych. Uwierzytelniony administrator mógł zarejestrować spreparowane połączenie z bazą H2 zawierające złośliwe parametry konfiguracyjne. Mechanizm sterownika H2 interpretował te parametry, co prowadziło do wykonania dowolnego kodu Java (code injection, CWE-94) w kontekście procesu serwera Metabase.
Atakujący z uprawnieniami administratora może wykonać dowolny kod Java na serwerze Metabase, co może skutkować pełnym przejęciem systemu, ujawnieniem danych, modyfikacją konfiguracji lub lateral movement w infrastrukturze.
Należy zaktualizować Metabase do wersji 1.58.15.1, 1.59.12, 1.60.6.3 lub 1.61.2 (odpowiednio 0.58.15.1, 0.59.12, 0.60.6.3, 0.61.2 dla wersji open-source). Patche dostępne są w oficjalnych wydaniach na GitHub. Dodatkowo zaleca się ograniczenie dostępu do panelu administracyjnego Metabase wyłącznie do zaufanych użytkowników i sieci.
Metabase (open-source) w wersjach od 1.55.0 do 1.58.15.1 (exclusive), 1.59.12 (exclusive), 1.60.6.3 (exclusive) i 1.61.2 (exclusive) — dotyczy zarówno wariantu open-source (0.x), jak i Enterprise (1.x) zgodnie z numeracją wydań.
Podatność dotyczy wyłącznie ścieżki kodu tworzenia bazy danych H2 — wymaga posiadania konta administratora Metabase. Poprawka wprowadzona w commicie 74032e5e0a5a70dc45a6a744d37b9ba24eee8d01 w repozytorium GitHub Metabase.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:HMetabase
APPMetabase1.55.0 – 1.58.15.1 (bez)1.59.0 – 1.59.12 (bez)1.60.0 – 1.60.6.3 (bez)1.61.0 – 1.61.2 (bez)
Powiązane podatności
Metabase allows a remote, unauthenticated attacker to inject arbitrary SQL via the '/reset_password' database ...
Metabase – path traversal i odczyt lokalnych plików przez custom GeoJSON
RCE w Metabase poprzez podatny sterownik JDBC Snowflake
Metabase: RCE przez deserializację obiektów Java w zapytaniach H2
Metabase RCE przez złośliwy connection string bazy H2