CyberGlossary

Vulnerabilidades

Inyección de cabecera Host

También conocido como: Inyección de X-Forwarded-Host, Abuso de virtual host

Definición

Vulnerabilidad en la que la aplicación confía en la cabecera HTTP Host (o X-Forwarded-Host) para construir URLs, permitiendo redirigir usuarios o envenenar cachés.

La inyección de Host ocurre cuando el código del servidor usa la cabecera Host —o variantes de proxy como X-Forwarded-Host— para construir URLs absolutas (enlaces de restablecimiento, redirecciones, src de imágenes, canónicos, callbacks OAuth) sin validarla contra una lista blanca. El atacante manipula la cabecera para apuntar enlaces a un dominio hostil, provocando envenenamiento de password reset, envenenamiento de caché, SSRF o ruteo de la respuesta a un host del atacante. El fallo es común en configuraciones con proxy inverso y frameworks con varias entradas de Host. Mitigaciones: derivar URLs desde un host configurado de confianza, validar Host/X-Forwarded-Host contra una lista blanca, descartar cabeceras forwarded desconocidas en el borde y usar HSTS.

Ejemplos

  • Disparar un password reset que envía un enlace a https://attacker.com/reset?token=... porque la app usa Host.
  • Envenenar una caché CDN enviando X-Forwarded-Host para que /index emita URLs del atacante.

Términos relacionados