Sploitus

Exploit for metabase

kitploit · 2026-08-24

Exploit Code

MARKDOWN14 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KUSHIRO45-METABASE-CVE-2023-38646
cd ~/metabase-poc cat > README.md << 'EOF'

# CVE-2023-38646 — Удаленное выполнение кода до аутентификации в Metabase

## Краткое описание

CVSS 9.8. Версии Metabase до 0.46.6.1 / 1.46.6.1 (и эквивалентные более ранние ветки) предоставляют возможность RCE до аутентификации через конечную точку `/api/setup/validate`, которая предназначена для проверки параметров подключения к базе данных во время начальной настройки, но доступна без аутентификации даже после завершения настройки.

## Коренная причина

Конечная точка принимает полезную нагрузку подключения к базе данных, и при указании `engine: h2` с поддельной строкой подключения JDBC позволяет внедрять произвольный JavaScript через синтаксис H2 `CREATE TRIGGER ... AS $$//javascript`. Тело триггера выполняется во время проверки, предоставляя атакующему выполнение JavaScript внутри JVM — что тривиально приводит к выполнению команд ОС через `java.lang.Runtime.getRuntime().exec()`.

Основная проблема заключается в том, что движок базы данных H2 доверяет коду, внедренному в строку подключения, в рамках "проверки" источника данных, в сочетании с тем, что Metabase открывает этот путь проверки до аутентификации.