CVE-2026-72898: Inyección SQL sinuthenticada de Metabase Día Cero

Causa de raíz técnica y remediación para la inyeccion no autenticada CVSS 10.0 SQL en Metabase password reset endpoint exploited as a cero-day.

CVE-2026-72898: Inyección SQL sinuthenticada de Metabase Día Cero
📌
Serie de Redondas de Seguridad: Semana del 10 de agosto de 20265 min de lectura

Una vulnerabilidad de inyección SQL no autenticada en el punto final de reset de contraseña de Metabase fue explotada en la naturaleza como un día cero contra por lo menos cinco organizaciones: los atacantes directos acceso administrativo y credenciales de bases de datos antes de que un parche estuviera disponible.

🚨
Inteligencia de Vulnerabilidades: CVE ID: CVE-2026-72898 (CWE-89: SQL Injection) Severity " CVSS: Crítico 10.0 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) Estado de explotación: ⚠️ Activo Explotado Zero-Day (Targeted campaigns observed by Wiz Research) Versiones afectadas: Metabase 0.58.00.63.4 and Enterprise 1.x Fijado en: Metabase 0.63.5 / 1.63.5

Qué afectó

La vulnerabilidad afecta a las versiones de código abierto de Metabase 0,588,0 a 0,63,4 y las correspondientes versiones Enterprise Edition 1.x, ya sean auto hospedadas o alojadas en Metabase Cloud antes de la salida de emergencia del proveedor.

Telemetría de Wiz Research indica aproximadamente 13% de los entornos cloud ejecutar implementaciones de Metabase auto hospedado, con aproximadamente 2.500 instancias directamente expuestas a Internet pública según la telemetría Shodan.

La vulnerabilidad

CVE-2026-72898 es una inyección SQL no autenticada accesible a través del público /api/session/reset_password API endpoint. Debido a que Metabase no dio a conocer los detalles técnicos completos durante la divulgación, Wiz Research indujo la vulnerabilidad difiriendo el bytecode JAR parcheado y sin parche.

Causa técnica de raíz

La causa raíz radica en cómo Metabase maneja las fichas de reajuste de contraseña. Al procesar una solicitud de reajuste de contraseña, el backend fusionó los parámetros JSON entrantes directamente en una plantilla de consulta SQL no sanada sin unión parametizada:

⚠️
Root Cause Breakdown: Entrada no desinfectada de /api/session/reset_password flowed directly into internal SQL query execution when looking up user reset tokens in the Metabase application database (PostgreSQL/MySQL/H2).

Desglose de la cadena de ataque

  1. Acceso de punto final no autenticado: El atacante llega /api/session/reset_password sin credenciales válidas de sesión.
  2. SQL Injection Payload: Al inyectar sintaxis SQL en el parámetro reset token, el atacante extrae el esquema de base de datos de aplicaciones y los hashes de la base de datos subyacente.
  3. Admin Session Hijacking: Los atacantes extraen o sobrescriben la sesión del usuario administrativo token o actualizan el hash de correo electrónico/password admin directamente.
  4. Exfiltración de datos: Con acceso administrativo a la consola web de Metabase, los atacantes obtienen acceso directo a consultas a cada almacén de datos, base de datos operacional y integración de la IB conectado a la instancia.

Indicadores para verificar (COIs)

🔍
Detection " Log Signatures:Inspect reverse proxy (Nginx, Caddy, Cloudflare) logs for high-frequency or anomalous POST solicitudes para /api/session/reset_password containing SQL escape characters (', --, UNION, SELECT). Audit Metabase audit logs for sudden admin account password resets or new admin accounts created outside change-control windows. Check connected database query logs for unusual mass-export queries originating from the Metabase service account.

Plan de Acción para la rehabilitación

Lista de verificación de la rehabilitación: Actualizar inmediatamente: Upgrade to Metabase 0,63.5 / 1,63.5 or later. Isolate Network Perimeter: Remove Metabase instances from the public internet. Require a VPN, tailnet, or Identity-Aware Proxy (IAP) for access. Rotate Connected DB Credenciales: Si su instancia estuvo expuesta, asuma que las cadenas de conexión de la base de datos almacenadas en Metabase estuvieron comprometidas y rote todas las credenciales de la base de datos subyacente.