
CVE-2023-38646 — это уязвимость удалённого выполнения кода в Metabase. Уязвимость вызвана дефектом безопасности в обработке строк подключения JDBC при работе Metabase с неаутентифицированной конечной точкой API /api/setup/validate. Злоумышленник может, сконструировав определённую строку подключения JDBC, использовать эту конечную точку для выполнения произвольных команд на сервере без аутентификации.
CVE-2023-38646 — это уязвимость удалённого выполнения кода (RCE) в Metabase. Она вызвана дефектом безопасности при обработке строк подключения JDBC в неаутентифицированной конечной точке API /api/setup/validate. Атакующий может сформировать специальную строку подключения JDBC и использовать эту конечную точку для выполнения произвольных команд на сервере без прохождения аутентификации.
Если точнее, злоумышленник сначала получает setup-token через обращение к /api/session/properties, а затем использует этот токен для отправки на /api/setup/validate запроса, содержащего вредоносную строку подключения JDBC. Поскольку Metabase не выполняет достаточную проверку безопасности таких запросов, злоумышленник может выполнить произвольный код в пределах привилегий сервера.
Наличие данной уязвимости обусловлено главным образом тем, что при обработке конфигураций подключения к базе данных Metabase не проводит строгую проверку безопасности вводимых пользователем строк подключения JDBC, что позволяет злоумышленнику добиться удалённого выполнения кода с помощью специально сформированного запроса.