PoC- CVE-2025-4123 - SSRF / XSS via Open Redirect (Grafana)

Resumen

Desarrollé una Proof of Concept (PoC) que demuestra una vulnerabilidad de Server-Side Request Forgery (SSRF) combinada con Cross-Site Scripting (XSS) en Grafana, registrada como CVE-2025-4123.

La vulnerabilidad se origina en una combinación de path traversal en cliente y un open redirect en endpoints públicos como /render/public, lo que permite redirigir peticiones del servidor hacia destinos controlados por el atacante.

La PoC demuestra cómo, bajo ciertas configuraciones (acceso anónimo habilitado o uso de plugins vulnerables como Image Renderer), es posible forzar al servidor a realizar peticiones arbitrarias, facilitando SSRF y potencial filtrado de información.

El exploit fue publicado y verificado en Exploit Database (EDB-ID 52491).

Detalle técnico

  • Producto afectado: Grafana

  • Versiones afectadas: 11.2.0 – 11.6.0 (y ramas específicas previas)

  • CVE: CVE-2025-4123

  • Componente vulnerable: Endpoints /render/public y /public

  • Vector de ataque: Open Redirect + Path Traversal (client-side)

  • Tipo de vulnerabilidad: SSRF / XSS

  • CWE: CWE-79, CWE-601

  • Impacto: SSRF, robo de información, ejecución de JS en cliente

  • Plataforma: Web

Descripción de la PoC

La PoC explota una validación insuficiente en rutas públicas de renderizado, permitiendo construir URLs manipuladas que provocan redirecciones hacia dominios controlados por el atacante.

El exploit realiza las siguientes acciones:

  • Uso de encoding doble (%252f, %255c) para evadir validaciones

  • Path traversal en rutas públicas

  • Abuso de redirecciones abiertas (redirect_to)

  • Forzado de peticiones del servidor hacia dominios externos

  • Interacción con servicios internos mediante SSRF

En presencia del plugin Grafana Image Renderer, el impacto puede escalar a SSRF completo con capacidad de lectura.

Comportamiento demostrado

  • SSRF hacia dominios controlados por el atacante

  • Interacción con servicios internos (loopback / red interna)

  • Posible exfiltración de información

  • Redirección maliciosa de usuarios

  • Ejecución de JavaScript en escenarios XSS (limitado por CSP por defecto)

Entorno de pruebas

  • Aplicación: Grafana

  • Versiones: 11.2.0 – 11.6.0

  • Configuración: Acceso anónimo habilitado / plugins activos

  • Escenario: Laboratorio controlado

Impacto

Un atacante remoto puede:

  • Forzar al servidor a realizar peticiones arbitrarias (SSRF)

  • Acceder a recursos internos no expuestos

  • Exfiltrar información sensible

  • Redirigir usuarios a contenido malicioso

  • Ejecutar XSS en determinadas condiciones

El impacto varía según configuración, pero puede escalar significativamente en entornos mal configurados.

Mitigaciones recomendadas

  • Actualizar Grafana a versiones parcheadas

  • Restringir acceso a endpoints públicos de renderizado

  • Deshabilitar acceso anónimo si no es necesario

  • Validar correctamente redirecciones y rutas

  • Limitar capacidades de plugins como Image Renderer

  • Aplicar políticas de red (egress filtering

Referencias

Last updated