
CVE-2023-38646 ist eine Remote-Codeausführungs-Schwachstelle in Metabase. Die Schwachstelle beruht auf einem Sicherheitsfehler bei der Verarbeitung von JDBC-Verbindungsstrings, wenn Metabase den nicht authentifizierten API-Endpunkt /api/setup/validate verarbeitet. Angreifer können durch das Konstruieren spezifischer JDBC-Verbindungsstrings diesen Endpunkt ausnutzen, um beliebige Befehle auf dem Server auszuführen, ohne dass eine Authentifizierung erforderlich ist.
CVE-2023-38646 ist eine Remote-Codeausführung-Schwachstelle in Metabase. Die Schwachstelle beruht darauf, dass Metabase bei der Verarbeitung des nicht authentifizierten API-Endpunkts /api/setup/validate einen Sicherheitsmangel bei der Behandlung von JDBC-Verbindungszeichenfolgen aufweist. Ein Angreifer kann durch das Konstruieren einer speziellen JDBC-Verbindungszeichenfolge über diesen Endpunkt beliebige Befehle auf dem Server ausführen, ohne dass eine Authentifizierung erforderlich ist.
Konkret erhält der Angreifer zunächst über den Zugriff auf /api/session/properties ein setup-token und nutzt dieses Token anschließend, um eine Anfrage mit einer bösartigen JDBC-Verbindungszeichenfolge an /api/setup/validate zu senden. Da Metabase diese Anfragen nicht ausreichend sicher validiert, kann der Angreifer im Rahmen der Serverberechtigungen beliebigen Code ausführen.
Das Vorhandensein dieser Schwachstelle ist hauptsächlich darauf zurückzuführen, dass Metabase bei der Verarbeitung von Datenbankverbindungskonfigurationen die vom Benutzer eingegebenen JDBC-Verbindungszeichenfolgen keiner strengen Sicherheitsvalidierung unterzieht, wodurch ein Angreifer durch sorgfältig konstruierte Anfragen eine Remote-Codeausführung erreichen kann.