Użytkownik Metabase posiadający uprawnienia do dodawania lub edytowania połączeń z bazami danych może uzyskać zdalne wykonanie kodu (RCE) na serwerze Metabase. Podatność jest krytyczna (CVSS 10.0) i nie wymaga żadnych dodatkowych uprawnień administracyjnych poza dostępem do zarządzania połączeniami.
▸ Pokaż oryginał (EN)
Metabase is an open-source business intelligence and embedded analytics tool. From 1.54.0 until 1.54.24, 1.55.24, 1.56.25, 1.57.19, 1.58.14, 1.59.10, and 1.60.4, a Metabase user with permission to add or edit a database connection can achieve remote code execution on the Metabase server by configuring a Snowflake connection to an attacker-controlled server, because a flaw in the Snowflake JDBC driver can write arbitrary files anywhere on the Metabase host, including replacing one of Metabase's own database driver files that later executes inside the Metabase process. This issue is fixed in versions 1.54.24, 1.55.24, 1.56.25, 1.57.19, 1.58.14, 1.59.10, and 1.60.4.
Atakujący konfiguruje połączenie Snowflake wskazując na kontrolowany przez siebie serwer. Błąd w sterowniku Snowflake JDBC pozwala na zapisanie dowolnych plików w dowolnym miejscu systemu plików hosta Metabase, w tym na nadpisanie pliku sterownika bazy danych należącego do samego Metabase. Nadpisany plik sterownika jest następnie ładowany i wykonywany wewnątrz procesu Metabase, co daje atakującemu pełną kontrolę nad serwerem.
Atakujący może uzyskać pełne zdalne wykonanie kodu (RCE) na serwerze Metabase, co skutkuje całkowitą utratą poufności, integralności i dostępności systemu oraz danych przetwarzanych przez serwer.
Należy zaktualizować Metabase do wersji 1.54.24, 1.55.24, 1.56.25, 1.57.19, 1.58.14, 1.59.10 lub 1.60.4. Dodatkowo, do czasu wdrożenia patcha, należy rozważyć ograniczenie uprawnień użytkowników do dodawania i edytowania połączeń z bazami danych wyłącznie do zaufanych administratorów.
Metabase w wersjach od 1.54.0 do (z wyłączeniem) 1.54.24, 1.55.24, 1.56.25, 1.57.19, 1.58.14, 1.59.10 oraz 1.60.4
Podatność wymaga posiadania konta w Metabase z uprawnieniami do zarządzania połączeniami z bazami danych — nie jest to luka dostępna dla anonimowych użytkowników. Szczegóły techniczne dostępne w oficjalnym security advisory projektu Metabase na GitHub: GHSA-r6x2-rchx-q9g9.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HMetabase
APPMetabase1.54.0 – 1.54.24 (bez)1.55.0 – 1.55.24 (bez)1.56.0 – 1.56.25 (bez)1.57.0 – 1.57.19 (bez)1.58.0 – 1.58.14 (bez)1.59.0 – 1.59.10 (bez)1.60.0 – 1.60.4 (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
Metabase: RCE przez niebezpieczne właściwości połączenia H2 (admin)
Metabase: RCE przez deserializację obiektów Java w zapytaniach H2
Metabase RCE przez złośliwy connection string bazy H2