InitIA-Sec LogoInitIA-Sec
Solicitar Auditoría →
← Volver al listado
Seguridad Web & APIsJunio 26, 2026• 8 min de lectura

Análisis Crítico: Vulnerabilidad SSRF en OHIF DICOM Viewer (CVE-2026-12473)

Análisis Técnico y Vector de Ataque

La vulnerabilidad identificada como CVE-2026-12473 afecta al framework OHIF DICOM Web Viewer en versiones inferiores o iguales a la 3.12.0. Se clasifica como una vulnerabilidad de Server-Side Request Forgery (SSRF) con una puntuación CVSS de 8.2. El vector de ataque reside en los componentes DICOMWebProxy y DICOMJSON, los cuales procesan parámetros de URL proporcionados por el usuario sin realizar una validación o sanitización adecuada.

El mecanismo interno del fallo es severo: cuando un atacante induce a un clínico autenticado a hacer clic en un enlace manipulado, el servidor de OHIF realiza una petición hacia un recurso externo controlado por el atacante. Debido a una configuración defectuosa en el servicio de autenticación global, el framework inyecta automáticamente el token OIDC Bearer del usuario en dicha petición. Esto permite al atacante capturar el token de sesión, facilitando el acceso no autorizado a datos médicos sensibles y la suplantación de identidad del profesional sanitario.

Ilustración del Exploit

El patrón vulnerable ocurre cuando la aplicación toma un parámetro de entrada directamente para construir una petición de backend sin restricciones.

Código Vulnerable (Conceptual):

javascriptSHIELDED ENV
// El parámetro 'url' es tomado sin validación
const targetUrl = req.query.url;
// El servicio inyecta el token automáticamente en la cabecera
const response = await axios.get(targetUrl, { headers: { 'Authorization': `Bearer ${userToken}` } });

Mitigación:

Se debe implementar una lista blanca (allowlist) estricta de dominios permitidos y deshabilitar la inyección automática de tokens en peticiones salientes hacia dominios no validados.

javascriptSHIELDED ENV
// Mitigación: Validar la URL contra una lista blanca
const allowedDomains = ['internal-pacs.local'];
if (!allowedDomains.some(domain => targetUrl.startsWith(domain))) {
    throw new Error('Acceso no autorizado');
}

Impacto de Negocio y Cumplimiento

La explotación de este fallo compromete la confidencialidad de los datos del paciente, contraviniendo directamente el RGPD (Reglamento General de Protección de Datos) al exponer información de salud protegida. En el contexto de infraestructuras críticas (Healthcare), este incidente representa una violación grave de la directiva NIS2 y el marco DORA, los cuales exigen resiliencia operativa y control estricto sobre los vectores de ataque en la cadena de suministro de software médico. La exfiltración de tokens permite un movimiento lateral persistente dentro de la red clínica.

La Perspectiva de InitIA-Sec

En InitIA-Sec, nuestra metodología de hacking ofensivo detecta este tipo de fallos mediante:

1.Screening (T1): Realizamos un análisis de superficie de ataque automatizado para identificar parámetros de entrada que reflejan peticiones externas. Nuestra garantía 'No Bugs, No Pay' asegura que si no hallamos vulnerabilidades de nivel Medio o superior, el coste del servicio es reembolsado al 100%.
2.Diagnosis (T2): Si el Screening detecta anomalías, procedemos a una auditoría profunda donde nuestros expertos ejecutan payloads de SSRF para confirmar la exfiltración de tokens y mapear la arquitectura interna del sistema, entregando una PoC validada.
3.Remediación (T3): Entregamos parches de código específicos y recomendaciones de endurecimiento (hardening) para asegurar que la integración de DICOM cumpla con los estándares de seguridad más rigurosos.

Noticia basada en fuente original: Hacking News & Advisories

⚖️ Impacto Regulatorio: ¿Conoces la responsabilidad económica ante incidentes de seguridad? Estima posibles sanciones con nuestra Calculadora de Sanciones RGPD y Multas NIS2.
GARANTÍA NO BUGS, NO PAY

¿Preocupado por vectores de ataque similares en tu aplicación?

En InitIA-Sec ejecutamos auditorías y pentesting con garantía de resultado: si en la fase inicial de screening no detectamos fallos de severidad Media o Crítica, el servicio es 100% gratuito.