Saltar al contenido
Fali Fuentes

Fallos de autorización en Grafana 12.4 y bypass de path en Armeria: parches disponibles

Read this article in English

La publicación casi simultánea de dos avisos de seguridad el 6 de noviembre de 2026 expone fallos de autorización en Grafana 12.4 y un bypass de controles basados en rutas en Armeria anterior a 1.43.0. Ambos componentes son ubícuos en stacks de observabilidad y mallas de servicios Java/Kotlin, por lo que la ventana de exposición, aunque breve, exige despliegue inmediato de parches. Este análisis desglosa causa raíz, impacto real y mitigaciones con sus límites.

CVE-2026-33379: bypass de autorización en snapshots de Grafana

El fallo CVE-2026-33379, clasificado como CWE-862 (Missing Authorization), afecta exclusivamente a Grafana OSS y Enterprise 12.4.0 hasta 12.4.3; las ramas anteriores y la versión 13 quedan fuera de alcance. Un usuario autenticado con el rol mínimo Viewer o una service account sin permisos puede crear, publicar externamente y eliminar snapshots de paneles, lo que rompe la confidencialidad de métricas internas y la integridad del historial de observabilidad.

El vector CVSS 3.1 es AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N, resultando en una puntuación base de 8.5 (HIGH). La explotación requiere solo credenciales válidas de bajo privilegio y acceso de red a la API HTTP de Grafana; no se necesita interacción de la víctima. La ausencia de comprobaciones de autorización en los endpoints /api/snapshots permite la exfiltración de datos sensibles incrustados en dashboards, como tokens de datasources o consultas con secretos.

Grafana Labs publicó el parche en la versión 12.4.4 el mismo día de la divulgación. La actualización es obligatoria y requiere reinicio del servicio. Como medida compensatoria, se puede restringir el acceso de red a CIDR de gestión y deshabilitar la funcionalidad de snapshots externos mediante snapshot_remove_expired = true y external_snapshot_url vacía en grafana.ini, aunque esto elimina una capacidad legítima de compartir paneles. Ver detalles en Ubuntu Security Tracker.

Detalles técnicos y vector de ataque en Grafana

La raíz del problema reside en la falta de validación de permisos antes de ejecutar operaciones de creación, publicación y borrado de snapshots. El endpoint POST /api/snapshots acepta cualquier usuario autenticado sin verificar roles, y el parámetro external permite publicar la instantánea en una URL accesible desde Internet. Además, DELETE /api/snapshots/:key no comprueba la propiedad del snapshot, permitiendo a un atacante borrar evidencias de otros usuarios.

En entornos multiinquilino o con dashboards que incrustan credenciales de fuentes de datos, un snapshot público expone claves de API, contraseñas de bases de datos y tokens de nube. La puntuación de confidencialidad alta (C:H) refleja este riesgo. No hay constancia pública de explotación activa al 9 de noviembre de 2026, pero la trivialidad del exploit sugiere que la detección mediante logs de auditoría (POST/DELETE en /api/snapshots) es la única señal temprana.

Si se han publicado snapshots, la rotación de credenciales expuestas es imperativa: claves de datasources, API keys y contraseñas embebidas. La operación tiene coste operativo alto y debe asumirse compromiso si los logs no son concluyentes. La desactivación temporal de snapshots (external_snapshot_name = "") reduce la superficie mientras se aplica el parche, pero afecta a flujos de trabajo legítimos de colaboración entre equipos de SRE y desarrollo.

CVE-2026-121823: normalización inconsistente de path en Armeria

En Armeria, el fallo CVE-2026-121823 proviene de una normalización inconsistente de segmentos de ruta que contienen un punto (.). Las versiones anteriores a 1.43.0 permiten que peticiones como GET /api/../admin evadan decoradores con ámbito de ruta (path-scoped decorators) usados para autorización. El vector CVSS 4.0 es AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N, con base score 8.7 (HIGH), y no requiere autenticación.

El parche en la versión 1.43.0, publicada el 5 de noviembre, rechaza con 400 Bad Request cualquier petición que incluya un segmento de ruta ‘.’ (punto). Esto cierra el bypass en decoradores como PathMapping, Route y Decorator que dependen de pathPrefix o exactPath para aplicar políticas de acceso. El aviso oficial (GHSA-xqhm-4ph4-423v) también agrupa CVE-2026-121819 (symlink en armeria-xds), CVE-2026-121824 (Thrift DoS), CVE-2026-121820 (SAML) y CVE-2026-121821 (CORS). Consulta las notas de release.

La explotación permite a un atacante sin credenciales acceder a recursos protegidos: APIs de administración, endpoints de métricas internas, paneles de gestión de sidecars o gateways. En arquitecturas de malla de servicios donde Armeria actúa como plano de control o ingress, el bypass es el primer escalón para movimiento lateral, SSRF o escalada de privilegios. La ausencia de explotación pública conocida no reduce la urgencia: la prevalencia del framework en entornos Spring Boot y Kotlin lo convierte en objetivo prioritario.

Impacto en mallas de servicios y gateways basados en Armeria

Los servicios que emplean path-scoped decorators para imponer autorización basada en prefijos de ruta son vulnerables si no validan la normalización antes de delegar en el decorador. Patrones comunes como /internal/**, /actuator/** o /admin/** quedan expuestos. La corrección exige recompilar y redesplegar con Armeria 1.43.0, lo que implica verificar compatibilidad con Thrift 0.25, Netty 4.2.19, Jetty 12.0.40 y Spring Boot 4.1.2 según las notas de release.

Como validación rápida, se puede enviar una petición con un segmento ‘.’ en la ruta (ej. GET /api/./../admin) y confirmar que el servidor responde 400 Bad Request. Esta prueba solo cubre CVE-2026-121823; no detecta los otros CVEs del mismo release. La auditoría de código propio para identificar todos los decoradores con ámbito de ruta es necesaria, ya que los escáneres genéricos no distinguen la lógica de autorización personalizada.

Si la actualización inmediata no es posible, se pueden aplicar mitigaciones parciales: excluir el módulo brotli4j:native y usar el fallback Java para CVE-2026-111497, limitar el tamaño de mensajes SAML HTTP-Redirect a 1 MiB mediante SamlConfigurationBuilder.maxIncomingMessageSize(1048576) y revisar políticas CORS any-origin que puedan filtrar headers a rutas no declaradas. Estas medidas son temporales y no sustituyen el parche completo.

Mitigaciones prioritarias y límites operativos

Para Grafana, la acción principal es actualizar a 12.4.4 mediante docker pull grafana/grafana:12.4.4 o paquetes de la distribución (RHEL, Ubuntu, Debian backports). El reinicio es obligatorio y se debe revisar el changelog por cambios breaking en plugins. Como defensa en profundidad, restringir el acceso a la API a redes de gestión y bloquear egress a Internet desde el pod reduce el impacto de snapshots publicados externamente.

En Armeria, la actualización a 1.43.0+ requiere modificar dependencias Maven/Gradle (implementation ‘com.linecorp.armeria:armeria:1.43.0’) y el starter de Spring Boot (armeria-spring-boot-starter:1.43.0). El redespliegue es inevitable. Se debe auditar todos los PathMapping, Route y Decorator que usen pathPrefix/exactPath para autorización, ya que el fix solo bloquea segmentos ‘.’; otros bypasses de normalización podrían persistir si la lógica de ruta es defectuosa.

Ambas vulnerabilidades comparten una ventana de exposición corta (parches disponibles desde el 5-6 de noviembre) pero una superficie de ataque amplia. La prioridad operativa es desplegar parches en las próximas 24-48 horas, validar con pruebas de regresión que la funcionalidad de snapshots y la autorización por ruta funcionan como se espera, y rotar credenciales si hay indicios de compromiso. La monitorización continua de avisos en GitHub Security Advisories de Grafana y Armeria completa el ciclo de respuesta.

Ficha estructurada para consulta y agentes de IA

{
  "format": "rafael-fuentes-article/1.0",
  "language": "es",
  "title": "Fallos de autorización en Grafana 12.4 y bypass de path en Armeria: parches disponibles",
  "summary": "Análisis técnico de CVE-2026-33379 en Grafana y CVE-2026-121823 en Armeria: causa raíz, impacto real y mitigaciones con límites operativos para entornos de observabilidad y mallas de servicios.",
  "author": "Rafael Fuentes",
  "publicationDate": "2026-11-09T20:01:35.048+01:00",
  "eventDate": "2026-11-06",
  "url": "https://falifuentes.com/rafael-fuentes-2026-11-09-pm-es/",
  "translation": {
    "language": "en",
    "url": "https://falifuentes.com/rafael-fuentes-2026-11-09-pm-en/"
  },
  "topics": [
    "Español",
    "Tecnología"
  ],
  "sources": [
    "https://ubuntu.com/security/CVE-2026-33379",
    "https://armeria.dev/release-notes/1.43.0"
  ]
}
SYSTEM_EXPERT
Rafael Fuentes – BIO

Soy un experto en ciberseguridad con más de veinte años de experiencia liderando proyectos estratégicos en la industria. A lo largo de mi carrera, me he especializado en la gestión integral de riesgos cibernéticos, la protección avanzada de datos y la respuesta efectiva a incidentes de seguridad. Poseo una certificación en Ciberseguridad Industrial, que me ha dotado de un conocimiento profundo en el cumplimiento de normas y regulaciones clave en ciberseguridad. Mi experiencia abarca la implementación de políticas de seguridad robustas y adaptadas a las necesidades específicas de cada organización, asegurando un entorno digital seguro y resiliente.

Comparte
Scroll al inicio