Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Angular SSR (CVE-2026-27739)

Gravedad CVSS v4.0:
CRÍTICA
Tipo:
CWE-918 Falsificación de solicitud en servidor (SSRF)
Fecha de publicación:
25/02/2026
Última modificación:
27/02/2026

Descripción

Angular SSR es una herramienta de renderizado del lado del servidor para aplicaciones Angular. Las versiones anteriores a 21.2.0-rc.1, 21.1.5, 20.3.17 y 19.2.21 tienen una vulnerabilidad de falsificación de petición del lado del servidor (SSRF) en la cadena de manejo de peticiones de Angular SSR. La vulnerabilidad existe porque la lógica interna de reconstrucción de URL de Angular confía y consume directamente los encabezados HTTP controlados por el usuario, específicamente los de la familia Host y 'X-Forwarded-*', para determinar el origen base de la aplicación sin ninguna validación del dominio de destino. Específicamente, el framework no tenía comprobaciones para el dominio del host, la sanitización de rutas y caracteres, y la validación del puerto. Esta vulnerabilidad se manifiesta de dos formas principales: resolución implícita de URL relativas y construcción manual explícita. Cuando se explota con éxito, esta vulnerabilidad permite la dirección arbitraria de peticiones internas. Esto puede llevar a la exfiltración de credenciales, el sondeo de redes internas y una violación de la confidencialidad. Para ser vulnerable, la aplicación víctima debe usar Angular SSR (Server-Side Rendering), la aplicación debe realizar peticiones 'HttpClient' usando URL relativas O construir URL manualmente usando los encabezados 'Host' / 'X-Forwarded-*' no validados usando el objeto 'REQUEST', el servidor de aplicaciones debe ser accesible por un atacante que pueda influir en estos encabezados sin una validación estricta de un proxy frontal, y la infraestructura (Nube, CDN o Balanceador de Carga) no debe sanitizar o validar los encabezados entrantes. Las versiones 21.2.0-rc.1, 21.1.5, 20.3.17 y 19.2.21 contienen un parche. Algunas soluciones alternativas están disponibles. Evite usar 'req.headers' para la construcción de URL. En su lugar, use variables de confianza para las rutas base de la API. Aquellos que no puedan actualizar inmediatamente deben implementar un middleware en su 'server.ts' para exigir puertos numéricos y nombres de host validados.