
Исправляет неаутентифицированную SQL-инъекцию в конечной точке настройки, заменяя сырые JDBC-запросы параметризацией ORM и проверкой токена за постоянное время.
Этот репозиторий содержит горячее исправление для CVE-2026-72898 — неаутентифицированной уязвимости SQL-инъекции в конечной точке настройки самостоятельно размещённых экземпляров Metabase.
Если оставить её без исправления, злоумышленники могут обойти проверку токена настройки, выполнить произвольные команды базы данных и извлечь учётные данные хранилища данных.
Функция validate-setup-token ранее принимала непроверенный пользовательский ввод и конкатенировала его напрямую в необработанную строку JDBC. Это позволяло злоумышленнику выйти за пределы SQL-строки и добавить вредоносные команды.
Данное исправление принципиально изменяет механизм проверки, чтобы нейтрализовать векторы SQL-инъекций:
t2) — нативную объектно-реляционную модель Metabase.crypto.equality/eq? для сравнения токенов в памяти приложения (Clojure), а не в базе данных.crypto.equality/eq? выполняется за постоянное время, что предотвращает перебор токена злоумышленниками с помощью временных расхождений.Заменяет уязвимую логику необработанного jdbc/query в metabase.api.setup.
Metabase распространяется под лицензией AGPL. Данное исправление предоставляется на тех же условиях.