
CVE-2023-38646 es una vulnerabilidad de ejecución remota de código en Metabase. Esta vulnerabilidad se debe a un defecto de seguridad en el manejo de la cadena de conexión JDBC por parte de Metabase al procesar el punto final de API no autenticado /api/setup/validate. Un atacante puede construir una cadena de conexión JDBC específica para explotar este punto final y ejecutar comandos arbitrarios en el servidor sin necesidad de autenticación.
CVE-2023-38646 es una vulnerabilidad de ejecución remota de código en Metabase. Esta vulnerabilidad se debe a un defecto de seguridad en el manejo de las cadenas de conexión JDBC por parte de Metabase al procesar el punto final de API no autenticado /api/setup/validate. Un atacante puede construir cadenas de conexión JDBC específicas para ejecutar comandos arbitrarios en el servidor a través de este punto final, sin necesidad de autenticación.
Específicamente, el atacante primero obtiene el setup-token accediendo a /api/session/properties, y luego utiliza ese token para enviar una solicitud que contiene una cadena de conexión JDBC maliciosa a /api/setup/validate. Debido a que Metabase carece de suficientes comprobaciones de seguridad para estas solicitudes, el atacante puede ejecutar código arbitrario dentro de los permisos del servidor.
La existencia de esta vulnerabilidad se debe principalmente a que Metabase no realiza una validación de seguridad estricta de las cadenas de conexión JDBC ingresadas por el usuario al procesar la configuración de conexión de la base de datos, lo que permite a un atacante lograr la ejecución remota de código a través de solicitudes cuidadosamente construidas.