Back
High · CVSS 7.5Information Disclosure

[ES] Sensitive Data Exposure via JSON-RPC (Whistleblowing Channel)

Vulnerability Summary

Un endpoint desprotegido permitía exfiltrar, a través de una simple petición POST no autenticada, gigabytes de configuraciones, metadatos estructurales e información personal y corporativa privada de las organizaciones que utilizaban el software.

Nota de Censura: Todos los datos (dominios, rutas, URIs, métodos JSON-RPC, nombres de variables, NIFs corporativos, correos y nombres de empresas) han sido estrictamente anonimizados utilizando nomenclatura totalmente ficticia (ej. dashboard.internal-sec.com). Este reporte es un entorno simulado para garantizar al 100% la privacidad del programa afectado.

Este writeup detalla una vulnerabilidad crítica de Exposición de Información (Information Disclosure) dentro de una plataforma corporativa para la gestión de Canales de Denuncias Anónimas (Whistleblowing).

Un endpoint desprotegido permitía exfiltrar, a través de una simple petición POST no autenticada, gigabytes de configuraciones, metadatos estructurales e información personal y corporativa privada de las organizaciones que utilizaban el software.

Análisis de la Vulnerabilidad

El fallo se centraba en un servicio JSON-RPC del lado del servidor que alimentaba la interfaz gráfica. Su propósito real debía ser listar las distintas "categorías" de configuración disponibles, mediante este endpoint:

POST /api/v1/services/CoreConfigService.json HTTP/1.1
Host: dashboard.internal-sec.com

La brecha de seguridad combinaba dos errores graves:

  1. Falta de Control de Acceso: No existía validación de sesión (Cookies) ni cabeceras de autorización para procesar esta solicitud específica.
  2. Sobre-Exposición de Datos (Mass Assignment inverso): El backend no filtraba los atributos a nivel de base de datos. En vez de enviar sólamente lo que la pantalla principal necesitaba leer, el servidor procedía a leer de la base de datos el objeto completo relativo al "Canal" y lanzaba todo ese árbol de datos gigante en la respuesta HTTP hacia el cliente.

El Payload (PoC)

El ataque era completamente lineal. Consistía en interceptar la petición y manipular el payload JSON original, alterando el parámetro lógico que invocaba métodos internos en el endpoint (que llamaremos figurativamente getChannelConfigDetails).

El atacante solo necesitaba enviar la siguiente solicitud de manera anónima desde cualquier cliente REST o terminal:

Identification Required

You must be logged in to read this writeup. Join our community of researchers today.

Related Writeups

Discussion

No comments yet. Be the first to share your thoughts.

Log in to join the discussion.

Sign In