SSRF (falsificación de solicitudes del lado del servidor) es una vulnerabilidad que permite obligar a un servidor a enviar peticiones a destinos elegidos por el atacante, incluidos sistemas internos no accesibles desde internet.
Cómo funciona SSRF
Muchas aplicaciones cargan recursos a partir de una URL: generan vistas previas de enlaces, importan imágenes, llaman a webhooks o convierten páginas a PDF. Si el servidor no limita a dónde puede conectarse, el atacante indica una dirección como http://localhost/admin, una IP interna o el servicio de metadatos de la nube 169.254.169.254. La petición sale del servidor de confianza, así que los cortafuegos la dejan pasar y los servicios internos la tratan como legítima. La debilidad está catalogada como CWE-918.
Por qué es importante
- Robo de credenciales en la nube: los servicios de metadatos de AWS, Azure y Google Cloud pueden devolver claves de acceso temporales. En la brecha de Capital One de 2019, un fallo SSRF sirvió para obtener esas claves y robar datos de más de 100 millones de clientes.
- Acceso a servicios internos: paneles de administración, bases de datos, API de Kubernetes y otros sistemas tras el perímetro.
- Escalada: combinado con otros fallos, SSRF puede llevar a la ejecución remota de código; la cadena de ataque ProxyLogon contra Microsoft Exchange empezaba precisamente con un SSRF.
En 2021 SSRF pasó a ser una categoría propia del OWASP Top 10. En la práctica, el servidor vulnerable se convierte en un proxy para el atacante y amplía enormemente la superficie de ataque a su alcance. A diferencia de un ataque de intermediario, SSRF no necesita ninguna posición en la red: basta con una función vulnerable.
Cómo prevenirlo
- Permitir peticiones salientes solo a una lista de dominios y protocolos permitidos, sin confiar únicamente en listas de bloqueo.
- Resolver y validar la IP de destino y bloquear los rangos privados, de loopback y link-local, también tras redirecciones.
- Usar IMDSv2 en AWS y protecciones equivalentes en otras nubes.
- Aislar los componentes que cargan URL en un segmento de red con reglas de salida estrictas.
Como con otras vulnerabilidades web, las pruebas de seguridad periódicas ayudan a detectar SSRF a tiempo.