Volver al glosario

Server side template injection (SSTI)

1 min de lectura

El server side template injection es una vulnerabilidad en la que la entrada del usuario se concatena dentro de una plantilla que el servidor renderiza después, de forma que esa entrada se evalúa como sintaxis de plantilla en vez de tratarse como dato. Como los motores de plantillas exponen objetos del lenguaje, suele escalar de evaluar expresiones a la ejecución remota de código.

29 de julio de 2026
Compartir:

El fallo está en cómo se construye la plantilla, no en cómo se pintan los datos. Pasarle una variable a una plantilla es seguro; construir la cadena de la plantilla a partir de la entrada del usuario no lo es, y eso es justo lo que ocurre cuando un desarrollador quiere texto dinámico en un correo, en una factura o en una página de error.

La detección tiene dos pasos. Primero establecer que las expresiones se evalúan siquiera, enviando una sonda con la sintaxis de varios motores a la vez y mirando si aparece un resultado aritmético o un error de análisis. Después identificar el motor por la forma de ese error, porque la escalada depende del motor: a lo que llegas a continuación es al grafo de objetos que exponga ese lenguaje, lo que en la práctica significa caminar de un objeto corriente a un cargador de clases, a un manejador del entorno de ejecución o a un filtro que ejecute un comando.

La conversación sobre la severidad es corta. A diferencia del cross-site scripting, que se ejecuta en el navegador de un visitante, esto se ejecuta en el servidor, así que se redacta como ejecución remota de código y la evidencia que entregamos es la salida de un comando con la identidad del proceso, nunca un intérprete abandonado ahí. La corrección es dejar de construir plantillas a partir de la entrada, y esto forma parte de las pruebas de aplicación web, donde esto aparece en el código de renderizado hecho a medida.

¿Quieres ver cómo trabajamos en Asperis Security?

Agenda 30 minutos con uno de nuestros especialistas. Revisamos tu stack y te decimos qué conviene probar primero.