CWE-1336
Neutralización inadecuada de elementos especiales usados en un motor de plantillas
Acerca de
El producto utiliza un motor de plantillas para insertar o procesar entrada influenciada externamente, pero no neutraliza o neutraliza incorrectamente elementos especiales o sintaxis que pueden interpretarse como expresiones de plantilla u otras directivas de código cuando son procesadas por el motor.
Muchas aplicaciones web utilizan motores de plantillas que permiten a los desarrolladores insertar valores influenciados externamente en texto libre o mensajes con el fin de generar una página web, un documento, un mensaje, etc. completos. Dichos motores incluyen Twig, Jinja2, Pug, Java Server Pages, FreeMarker, Velocity, ColdFusion, Smarty y muchos otros, incluido PHP mismo. Algunos CMS (Sistemas de Gestión de Contenidos) también utilizan plantillas. Los motores de plantillas suelen tener su propio lenguaje de comandos o expresiones personalizado. Si un atacante puede influir en la entrada de una plantilla antes de que se procese, entonces el atacante puede invocar expresiones arbitrarias, es decir, realizar ataques de inyección. Por ejemplo, en algunos lenguajes de plantillas, un atacante podría inyectar la expresión "{{7*7}}" y determinar si la salida devuelve "49" en su lugar. La sintaxis varía según el lenguaje. En algunos casos, pueden funcionar ataques de estilo XSS, lo que puede ocultar la causa raíz si el desarrollador no investiga de cerca la causa raíz del error. Los motores de plantillas pueden usarse en el servidor o en el cliente, por lo que ambos "lados" podrían verse afectados por la inyección. Los mecanismos de ataque o las tecnologías afectadas pueden ser diferentes, pero el error es fundamentalmente el mismo.
Consecuencias comunes
- Integridad → Ejecutar código o comandos no autorizados
Mitigaciones
- Arquitectura y diseño: Elija un motor de plantillas que ofrezca un modo aislado (sandbox) o restringido, o que al menos limite el poder de cualquier expresión, llamada a función o comando disponible.
- Implementación: Utilice el modo aislado (sandbox) o restringido del motor de plantillas, si está disponible.
CVEs con esta debilidad
Preguntas frecuentes
¿Qué es CWE-1336?
El producto utiliza un motor de plantillas para insertar o procesar entrada influenciada externamente, pero no neutraliza o neutraliza incorrectamente elementos especiales o sintaxis que pueden interpretarse como expresiones de plantilla u otras directivas de código cuando son procesadas por el motor.
¿Qué plataformas afecta CWE-1336?
CWE-1336 se ha observado en: Java, PHP, Python, JavaScript, Interpreted, Not OS-Specific, Not Technology-Specific, AI/ML, +1.
¿Cuántas CVE rastrea Rainforest para CWE-1336?
Rainforest Labs rastrea actualmente 1 CVE publicadas asociadas a CWE-1336. Están listadas en esta página.
Potencia tu estrategia de seguridad con Rainforest
Descubre vulnerabilidades a tiempo, prioriza amenazas críticas y protege lo que realmente importa. Rainforest simplifica tus operaciones de seguridad, ahorrando tiempo y reduciendo costos, para que te enfoques en lo que impulsa tu negocio.
