CRITICAL🇬🇧 English

CVE-2023-37470

Metabase RCE przez złośliwy connection string bazy H2

CVSS 10.0v3.1pub. 2023-08-04upd. 2024-11-21

Podatność w platformie Metabase umożliwia zdalne wykonanie kodu (RCE) na serwerze przez spreparowany connection string do wbudowanej bazy danych H2. Krytyczna waga CVSS 10.0 i brak wymogu uwierzytelnienia czynią tę lukę wyjątkowo niebezpieczną.

Pokaż oryginał (EN)

Metabase is an open-source business intelligence and analytics platform. Prior to versions 0.43.7.3, 0.44.7.3, 0.45.4.3, 0.46.6.4, 1.43.7.3, 1.44.7.3, 1.45.4.3, and 1.46.6.4, a vulnerability could potentially allow remote code execution on one's Metabase server. The core issue is that one of the supported data warehouses (an embedded in-memory database H2), exposes a number of ways for a connection string to include code that is then executed by the process running the embedded database. Because Metabase allows users to connect to databases, this means that a user supplied string can be used to inject executable code. Metabase allows users to validate their connection string before adding a database (including on setup), and this validation API was the primary vector used as it can be called without validation. Versions 0.43.7.3, 0.44.7.3, 0.45.4.3, 0.46.6.4, 1.43.7.3, 1.44.7.3, 1.45.4.3, and 1.46.6.4 fix this issue by removing the ability of users to add H2 databases entirely. As a workaround, it is possible to block these vulnerabilities at the network level by blocking the endpoints `POST /api/database`, `PUT /api/database/:id`, and `POST /api/setup/validateuntil`. Those who use H2 as a file-based database should migrate to SQLite.

🤖 Analiza AI
Jak działa

Metabase obsługuje wbudowaną bazę danych H2 (in-memory), która pozwala na zawarcie wykonywalnego kodu bezpośrednio w connection stringu. Ponieważ Metabase umożliwia użytkownikom podłączanie własnych baz danych, atakujący może dostarczyć spreparowany connection string zawierający złośliwy kod. Głównym wektorem ataku był endpoint API służący do walidacji connection stringa przed dodaniem bazy danych (`POST /api/setup/validate`), który można było wywołać bez wcześniejszego uwierzytelnienia. Dostarczony przez atakującego ciąg znaków był następnie wykonywany przez proces obsługujący wbudowaną bazę danych H2.

Skutki

Atakujący bez żadnego uwierzytelnienia może zdalnie wykonać dowolny kod na serwerze Metabase, co prowadzi do pełnego przejęcia kontroli nad serwerem, wycieku danych oraz potencjalnego lateral movement w sieci wewnętrznej.

Mitygacja

Należy zaktualizować Metabase do wersji 0.43.7.3, 0.44.7.3, 0.45.4.3, 0.46.6.4, 1.43.7.3, 1.44.7.3, 1.45.4.3 lub 1.46.6.4, które całkowicie usuwają możliwość dodawania baz H2 przez użytkowników. Jako obejście (workaround) można zablokować na poziomie sieci endpointy: `POST /api/database`, `PUT /api/database/:id` oraz `POST /api/setup/validate`. Użytkownicy korzystający z H2 jako bazy plikowej powinni przeprowadzić migrację do SQLite.

Kogo dotyczy

Metabase w wersjach wcześniejszych niż 0.43.7.3, 0.44.7.3, 0.45.4.3, 0.46.6.4, 1.43.7.3, 1.44.7.3, 1.45.4.3 oraz 1.46.6.4.

Uwagi

Poprawka polega na całkowitym usunięciu obsługi baz danych H2 w interfejsie użytkownika. Użytkownicy korzystający z H2 jako bazy plikowej powinni zgodnie z zaleceniem producenta przeprowadzić migrację do SQLite.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Metabase

    APP
    Metabase
    < 0.43.7.3< 1.43.7.30.44.0 – 0.44.7.3 (bez)0.45.0 – 0.45.4.3 (bez)0.46.0 – 0.46.6.4 (bez)1.44.0 – 1.44.7.3 (bez)1.45.0 – 1.45.4.3 (bez)1.46.0 – 1.46.6.4 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCE
CWE
Referencje

Powiązane podatności

CVE-2026-72898CRITICAL10.0⚠ KEVten sam produkt

Metabase allows a remote, unauthenticated attacker to inject arbitrary SQL via the '/reset_password' database ...

CVE-2021-41277CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Metabase – path traversal i odczyt lokalnych plików przez custom GeoJSON

CVE-2026-50148CRITICAL10.0PL ✓ten sam produkt

RCE w Metabase poprzez podatny sterownik JDBC Snowflake

CVE-2026-59826CRITICAL9.1PL ✓ten sam produkt

Metabase: RCE przez niebezpieczne właściwości połączenia H2 (admin)

CVE-2026-59827CRITICAL9.9PL ✓ten sam produkt

Metabase: RCE przez deserializację obiektów Java w zapytaniach H2