← Volver al blog de ciberseguridad

El 0-day de Metabase: cuando tu herramienta de BI filtra los datos de todos tus clientes

Por Thilina Manana · COO y Director Técnico de Seguridad hard2bit · Publicado: 09 de agosto de 2026 · Actualizado: 09 de agosto de 2026
El 0-day de Metabase

El 3 de agosto, alguien empezó a leer bases de datos de producción ajenas. No entró por ninguna de esas empresas: entró por la herramienta de inteligencia de negocio que todas compartían, porque era la que guardaba las credenciales.

Un servidor de BI es el sitio donde una organización conecta sus bases de datos para poder consultarlas sin fricción. El precio de esa facilidad rara vez aparece en el análisis de riesgos: esa máquina termina custodiando las llaves de todo lo demás. El fallo que Metabase hizo público el 6 de agosto es la demostración de lo que ocurre cuando alguien las coge.

¿Qué ocurrió?

La secuencia pública, según el aviso de seguridad de Metabase y la cobertura de BleepingComputer, ocupa cuatro días.

  1. 3 de agosto: fecha de acceso más temprana confirmada por las víctimas en instancias de Metabase Cloud.
  2. 6 de agosto: Metabase identifica el fallo, parchea automáticamente las instancias de Metabase Cloud, publica el aviso y urge a los clientes autoalojados a actualizar. Ese mismo día notifica a los afectados.
  3. 7 y 8 de agosto: Framework y Tally publican sus notificaciones.

El fallo es una inyección SQL explotable sin autenticación previa contra la base de datos de la propia aplicación, con puntuación CVSS 10.0. Se explotó antes de que existiera corrección, así que es un zero-day en sentido estricto, y no tiene CVE asignado. Afecta a las versiones 1.58 y posteriores, incluidas las instalaciones autoalojadas.

¿Por qué un fallo en el BI acaba en los datos de todos tus clientes?

Porque el objetivo real no era Metabase. La cadena, descrita en términos conceptuales, es la siguiente: el atacante inyecta consultas contra la base de datos de la aplicación sin necesidad de credenciales, escala hasta permisos de administrador de la instancia y, con ese nivel, alcanza el almacén donde la herramienta guarda las credenciales de cada base de datos conectada. A partir de ahí ya no necesita ningún fallo más: se conecta como se conectaría el propio equipo de datos y consulta lo que esas credenciales permitan consultar. La exfiltración de datos ocurre, por tanto, a través de un canal autorizado.

Es el mismo patrón del abuso de OAuth contra Salesforce: el atacante entra con permisos legítimos heredados de una integración de confianza.

La pregunta útil hoy, por tanto, tiene poco que ver con si tu instancia estaba parcheada. Tiene que ver con qué alcance tenían las credenciales que esa instancia guardaba. Si el usuario de conexión era un administrador de la base con permiso de lectura sobre todo el esquema, el alcance del incidente es todo el esquema.

¿Qué revelan los dos casos confirmados?

Framework, el fabricante de portátiles modulares, notificó a todos sus clientes que un atacante accedió a nombres, direcciones de correo, teléfonos, direcciones postales e IP de inicio de sesión. Según la compañía, la información de pago no se vio afectada; rotó sus credenciales tras el aviso y no detectó cambios de acceso administrativo ni accesos a sistemas fuera de Metabase.

Tally, la plataforma de formularios, comunicó a sus usuarios que su entorno de analítica fue comprometido el 3 de agosto y que el atacante alcanzó direcciones de correo y contraseñas en forma de resumen criptográfico, sin llegar a los formularios ni a las respuestas enviadas por terceros.

La comparación entre ambos es instructiva. En Framework, el dato expuesto es de contacto y domicilio, material suficiente para montar campañas de suplantación creíbles contra toda una base de clientes. En Tally, la segmentación funcionó: la analítica veía cuentas, no contenido de formularios, y eso acotó el daño. Lo que marcó la diferencia fue qué se había conectado a la herramienta, y con qué permisos.

¿Por qué los controles habituales no lo vieron?

Hay cuatro razones, y ninguna es negligencia.

No había CVE. Los programas de gestión de vulnerabilidades alimentados solo con identificadores públicos y con el catálogo KEV no tenían nada que priorizar. La vigilancia tiene que incluir los avisos del propio fabricante, que es donde apareció este.

Era un servicio gestionado. En Metabase Cloud el cliente no parchea ni ve el sistema operativo, porque la superficie de ataque pertenece al proveedor. La única palanca del cliente estaba después, en qué credenciales había depositado y con qué permisos.

El tráfico era legítimo. Con las credenciales de conexión ya robadas, las consultas llegan a la base desde el origen habitual y con el usuario habitual. No hay malware que detectar ni proceso extraño en un servidor, solo una sesión autorizada haciendo preguntas.

El registro de la instancia estaba al alcance del atacante. Metabase advierte de que los registros del sistema que muestren el patrón de compromiso pueden haber sido manipulados, lo que remite a un principio conocido: la evidencia útil es la que se envía fuera del equipo afectado.

¿Cómo detectar el compromiso en tus registros?

Metabase publicó un indicador de compromiso concreto y fácil de buscar en los registros de acceso.

Patrón: POST /api/session/reset_password → 400, seguido de GET /api/user/current → 200 desde la misma sesión u origen. Trátalo como compromiso mientras no se demuestre lo contrario, no como una alerta más que triar.

La búsqueda no debería quedarse ahí. Revisa el historial de consultas de la instancia en busca de extracciones masivas o de consultas a tablas que ese usuario nunca toca; busca accesos a las bases conectadas fuera del horario del equipo de datos y desde direcciones distintas a las de la instancia; y comprueba si se crearon o modificaron cuentas de administrador y claves de API en esas fechas. Si tu SIEM recibe los registros de consulta de la base, la extracción anómala deja más rastro que la intrusión inicial.

¿Qué hacer ahora?

El orden importa, porque actualizar sin rotar deja al atacante dentro con credenciales válidas.

Triaje para instancias de Metabase, autoalojadas y en Cloud
AcciónPor quéPrioridad
Actualizar a versión corregida (0.58.24, 0.59.21, 0.60.17, 0.61.11, 0.62.9, 0.63.5 o superior)Cierra la vía de entrada. Cloud fue parcheado automáticamente por el proveedorInmediata (autoalojado)
Rotar las credenciales de TODAS las bases de datos conectadasEs el activo que el atacante buscaba; el parche no invalida lo ya robadoInmediata
Revocar todas las sesiones activasExpulsa sesiones que el atacante pudiera mantenerInmediata
Revisar cuentas de administrador y claves de APIDetecta persistencia creada durante el accesoAlta
Buscar el patrón de compromiso e inspeccionar el historial de consultasDetermina si hubo acceso y qué se consultóAlta
Evaluar el alcance de datos personales y el deber de notificaciónArranca los plazos del RGPD y, si aplica, de NIS2Alta, en paralelo

Si el patrón de compromiso aparece, la rotación de credenciales deja de ser preventiva y pasa a ser contención de un incidente en curso.

Si la instancia resulta comprometida, el análisis del alcance no debería hacerse a ojo. Determinar qué consultó el atacante y durante cuánto tiempo es trabajo de forense digital y de un equipo de respuesta a incidentes con el histórico de registros a mano.

El dato que nunca debería haber estado ahí

La lección estructural está en qué datos ve tu herramienta de analítica.

Muchas de las preguntas que se le hacen a un BI se responden con agregados, cohortes y tendencias; el teléfono y la dirección postal rara vez son la respuesta. Aun así, lo habitual es conectarlo a la base de producción con un usuario de permisos amplios, porque es lo más rápido, y dejar que el analista decida después qué mira. Ese atajo convierte el fallo de un proveedor en una notificación a toda la base de clientes.

Las medidas que habrían acotado este incidente son poco vistosas y bien conocidas: usuarios de solo lectura limitados a vistas concretas en lugar de acceso al esquema completo; vistas que expongan columnas agregadas o seudonimizadas en vez de identificadores directos; separación entre la analítica y las tablas que guardan datos de contacto; y un inventario de qué fuentes están conectadas a qué herramienta, con responsable asignado. Es minimización de datos implementada en el esquema, no redactada en la política de privacidad.

Merece la pena revisar también la caducidad de esas credenciales de conexión, que casi nunca expiran. Son credenciales sin dueño asignado, con permisos de lectura sobre lo más sensible del negocio y sin nadie que las rote.

¿Hay que notificar si el fallo fue de tu proveedor?

Sí, y es la parte que más discusión genera cuando se revisa el reparto de responsabilidades. A efectos del RGPD, la empresa que decide para qué se tratan los datos de sus clientes es la responsable del tratamiento, y esa condición no se transfiere al proveedor de BI porque el fallo fuera suyo. Si hay riesgo para los derechos de los afectados, la notificación a la autoridad de control corresponde a la empresa, en un plazo de 72 horas desde que tiene conocimiento. Cuando el riesgo es alto, se añade además la comunicación a los propios afectados, que es el paso que dio Framework con sus clientes.

El proveedor actúa como encargado del tratamiento y su obligación es avisar al responsable sin dilación indebida, que es lo que ocurrió el 6 de agosto. Para entidades sujetas a NIS2 se suma su propio circuito de notificación de incidentes significativos, con alerta temprana en 24 horas, y la obligación de gestionar el riesgo de la cadena de suministro. En España la ley de transposición sigue pendiente; la obligación material, no.

En la práctica, esto se resuelve antes del incidente: contratos con plazos de notificación explícitos y una gestión del riesgo de terceros que registre qué proveedor trata qué dato y con qué acceso. Cuando llega el aviso, el plazo ya ha empezado a contar.

Conclusiones de este caso

Metabase parcheó su servicio gestionado, publicó el aviso con indicadores de compromiso y trabaja con una firma forense externa. Aun así, el problema no admite solución del lado del proveedor: el daño lo determinó el alcance de las credenciales que cada cliente le había confiado.

Esa es la asimetría del modelo SaaS. Puedes externalizar la operación de una herramienta, pero no la responsabilidad sobre los datos que le entregas. Al revisar integraciones de datos, la pregunta que rinde no es cuántas herramientas tienes conectadas, sino qué vería un atacante si mañana cayera cualquiera de ellas. Ese alcance es el que revisamos en Hard2bit como empresa de ciberseguridad, antes de que lo mida otro por su cuenta.

Fuentes y atribución: este artículo se basa en divulgaciones públicas disponibles el 9 de agosto de 2026 — el aviso de seguridad de Metabase y las notificaciones de Framework y Tally, recogidas por BleepingComputer, TechCrunch y The Hacker News. El alcance de los incidentes puede ampliarse a medida que avance la investigación forense en curso. La mención de estas empresas responde a su propia comunicación pública y no implica valoración alguna sobre su nivel de seguridad.
Aviso: este contenido tiene finalidad defensiva y divulgativa. Los indicadores y acciones descritos deben validarse contra el aviso oficial del fabricante y adaptarse a cada entorno antes de aplicarse en producción. No sustituye asesoramiento jurídico sobre obligaciones de notificación.

Preguntas frecuentes

¿Estoy afectado si uso Metabase Cloud?

Metabase parcheó automáticamente las instancias en Cloud y notificó a los clientes cuya instancia había sido accesible, así que la vía de entrada está cerrada sin acción por tu parte. Eso no cierra el incidente: si tu instancia estuvo expuesta durante la ventana de explotación, las credenciales de las bases de datos conectadas pudieron ser robadas y siguen siendo válidas hasta que las rotes. La acción pendiente del lado del cliente es la rotación y la revisión de accesos, no el parcheo.

¿Qué versiones de Metabase son seguras si me autoalojo?

Las versiones corregidas publicadas por el fabricante son 0.58.24, 0.59.21, 0.60.17, 0.61.11, 0.62.9 y 0.63.5, o posteriores dentro de cada rama. Ojo con la doble numeración, que despista: la edición de código abierto usa la serie 0.x y la edición comercial la 1.x, de modo que 0.58.24 y 1.58.24 son la misma versión corregida. Cada rama se mantiene por separado, así que comprueba la tuya antes de dar la actualización por cerrada.

¿Cómo roto las credenciales de una base de producción sin cortar el servicio?

Con rotación solapada, no con un cambio de contraseña en caliente. El patrón habitual es crear una credencial nueva con los mismos permisos, actualizar la configuración de cada consumidor que la use (la herramienta de BI, pero también procesos por lotes y cuadros de mando que a veces comparten usuario), verificar que todos conectan con la nueva y solo entonces revocar la antigua. La revocación es el paso que no se puede posponer: mientras la credencial vieja siga viva, el robo sigue siendo útil. Antes de empezar conviene inventariar quién usa esa credencial, porque las sorpresas aparecen justo ahí.

¿Basta con actualizar Metabase para resolver el incidente?

No. El parche cierra la entrada, pero no invalida lo que el atacante ya se llevó. El objetivo del ataque eran las credenciales almacenadas de las bases conectadas, y esas credenciales siguen funcionando después de actualizar. La secuencia correcta es actualizar, revocar todas las sesiones activas, rotar las credenciales de cada base conectada y revisar cuentas de administrador y claves de API en busca de persistencia.

¿Tengo que avisar también a los afectados, además de a la autoridad?

Son dos obligaciones distintas del RGPD. La notificación a la autoridad de control procede cuando la brecha supone un riesgo para los derechos y libertades de los afectados, en un plazo de 72 horas desde que se tiene conocimiento. La comunicación a los propios interesados se exige cuando ese riesgo es alto, y su plazo es sin dilación indebida. Un conjunto de nombre, teléfono y dirección postal habilita fraude por suplantación bastante directo, que es el tipo de valoración que suele inclinar la balanza hacia comunicar. La decisión final es del responsable, caso por caso.

¿Y si mi retención de registros no llega hasta el 3 de agosto?

Entonces no puedes descartar el compromiso, y esa es la conclusión operativa: la ausencia de evidencia no es evidencia de ausencia. Con la ventana de explotación fuera de tu retención, lo prudente es asumir exposición y actuar como si la hubiera habido, es decir, rotar las credenciales de todas las bases conectadas y revisar cuentas de administrador y claves de API. Además conviene documentar la limitación, porque forma parte del análisis de alcance que pedirá tanto un forense como, llegado el caso, la autoridad de control.

¿Cómo sé si mi instancia era alcanzable desde Internet?

Comprobándolo desde fuera y no desde el diagrama de red. En Metabase Cloud lo es por definición. En autoalojado, la instancia puede estar publicada por un balanceador, por una regla de cortafuegos heredada o por un túnel que alguien abrió para trabajar desde casa y nadie cerró. La verificación útil es resolver el nombre y probar el acceso desde una red externa, revisar las reglas de publicación y contrastarlo con el inventario de superficie de ataque. Que esté detrás de VPN sobre el papel no siempre significa que lo esté en producción.

¿Quieres saber cuál es tu exposición real y qué corregir primero?

Treinta minutos con un consultor técnico —no un comercial— bastan para ordenar el problema: qué está expuesto hoy, qué se corrige esta semana, qué puede esperar y cuánto cuesta cada tramo. Pentesting, auditoría de ciberseguridad, gestión de vulnerabilidades, Microsoft 365, SOC/MDR y respuesta a incidentes.

Si tu situación es distinta, plantéanosla igualmente: también atendemos consultas puntuales de ciberseguridad y cumplimiento normativo.

Empresa española de ciberseguridad · ENS categoría ALTA · ISO 27001 · Normalmente respondemos en menos de 24h laborables