Reports
ALTA[OTRAS INYECCIONES]#3781785

Inyección de HTML en la página de inicio de sesión ADFS de Essity mediante los parámetros infotext y signintext

Un script de tema del login federado (ADFS) de Essity insertaba con innerHTML los parámetros infotext y signintext de la URL, lo que permitía colocar avisos y enlaces falsos en una página de acceso legítima.

Resumen
Resumen en castellano de un reporte público, no una traducción literal. El código y los comandos se mantienen como en el original.

Resumen

La página de inicio de sesión federado afectada, servida por ADFS en la ruta /adfs/ls, cargaba un script JavaScript propio para personalizar su aspecto. Ese script tomaba dos parámetros de la URL, infotext y signintext, y los insertaba en la página con innerHTML.

El resultado es una inyección de HTML reflejada: quien construya el enlace decide qué marcado aparece dentro de la pantalla de login real. El investigador (firecompass-ai) lo aprovechó para añadir un falso "aviso de seguridad" con un enlace a un dominio externo, justo debajo del formulario de acceso. El reporte se clasificó como validación de entrada incorrecta, con severidad alta.

En el reporte publicado los nombres de dominio aparecen censurados (████████).

Pasos de reproducción

  1. Abrir en el navegador el endpoint de ADFS con los parámetros manipulados. signintext lleva un texto marcador y infotext lleva HTML codificado en la URL (un encabezado, un párrafo y un enlace):
https://████████/adfs/ls?wa=wsignin1.0&wtrealm=https%3A%2F%2Fwww.████████.ro%2Fconnect&whr=AD%20AUTHORITY&portalui=████████extdev&signintext=SIGNIN_MIN_93470&infotext=%3Ch2%20id%3Dphish93470%3ESecurity%20notice%3C%2Fh2%3E%3Cp%3EContinue%20to%20verify.%3C%2Fp%3E%3Ca%20id%3Dlink93470%20href%3Dhttps%3A%2F%2Fexample.com%2F%3EContinue%3C%2Fa%3E

Decodificado, el valor de infotext es:

<h2 id=phish93470>Security notice</h2><p>Continue to verify.</p><a id=link93470 href=https://example.com/>Continue</a>
  1. Comprobar que la cadena SIGNIN_MIN_93470 aparece en la zona de mensajes del login y que, bajo el formulario, se ven un encabezado "Security notice" y un enlace "Continue" que no forman parte de la página original. Eso confirma que el HTML del parámetro se interpreta.
  2. Pasar el ratón por encima de "Continue": apunta a https://example.com/, un dominio ajeno. Al pulsarlo, el navegador sale hacia esa web externa.

Impacto

El contenido controlado por el atacante se muestra dentro de una página de autenticación real que se usa para el inicio de sesión federado. Según el reporte, esto permite:

  • Hacer que los usuarios sigan enlaces del atacante presentados como parte del propio login (phishing o distribución de malware).
  • Robar credenciales mediante ingeniería social, convenciendo a la víctima de introducirlas en contenido inyectado (por ejemplo, instrucciones o elementos de formulario falsos).

El investigador señala que, aunque ese subdominio estaba fuera del alcance del programa, el enlace pertenece a la empresa, lo que aumenta mucho el riesgo para sus clientes: robo de credenciales, páginas falsas y daño a la reputación de la marca.

Remediación

El reporte figura como resuelto, pero no detalla qué se cambió. Como recomendación general para este tipo de fallo, los valores de la URL no deberían insertarse con innerHTML, sino tratarse como texto (por ejemplo con textContent).