
Corrige la inyección SQL no autenticada en un endpoint de configuración reemplazando las consultas JDBC sin procesar por parametrización ORM y validación de tokens en tiempo constante.
Este repositorio contiene el hotfix para CVE-2026-72898, una vulnerabilidad de inyección SQL no autenticada en el endpoint de configuración de instancias de Metabase autoalojadas.
Sin el parche, los atacantes pueden omitir la validación del token de configuración, ejecutar comandos arbitrarios en la base de datos y extraer credenciales del almacén de datos.
La función validate-setup-token anteriormente aceptaba entrada de usuario sin validar y la concatenaba directamente en una cadena JDBC cruda. Esto permitía a un atacante salirse de la cadena SQL y añadir comandos maliciosos.
Este parche cambia fundamentalmente el mecanismo de validación para neutralizar los vectores de inyección SQL:
t2), el mapeador objeto-relacional nativo de Metabase.crypto.equality/eq? para comparar los tokens en la memoria de la aplicación (Clojure) en lugar de hacerlo en la base de datos.crypto.equality/eq? se ejecuta en tiempo constante, impidiendo que los atacantes fuercen el token mediante diferencias de temporización.Reemplaza la lógica vulnerable de jdbc/query cruda en metabase.api.setup.
Metabase está bajo la licencia AGPL. Este parche se proporciona bajo los mismos términos.