Jinja: Inyección de comandos en la función from_string (SSTI)

Creado en 18 feb. 2019  ·  1Comentario  ·  Fuente: pallets/jinja

Comportamiento esperado

from_string acepta parámetros que no se escapan, por lo que un atacante puede inyectar código en la plantilla.

Comportamiento real

Debería escapar de cualquier cosa pasada.

Información adicional y prueba de concepto

https://github.com/JameelNabbo/Jinja2-Code-execution
https://www.exploit-db.com/exploits/46386

Comentario más útil

El usuario que creó ese repositorio y CVE no sabe de qué está hablando, y desafortunadamente ahora vamos a tener que seguir abordando el tema, ya que notificaron irresponsablemente a un grupo de personas sobre un problema que no es un problema de una manera oficial. . Consulte https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1 para obtener una respuesta. Envié una solicitud a MITRE para invalidar el CVE.

Decir que Jina tiene una vulnerabilidad porque existe from_string es como decir que todos los lenguajes dinámicos son vulnerables porque existe eval , o que todas las bibliotecas SQL son vulnerables porque evalúan cadenas SQL. El problema no es con esas bibliotecas, que proporcionan herramientas adecuadas para manejar la entrada del usuario. Una biblioteca SQL no tiene una vulnerabilidad de inyección, un proyecto que usa una biblioteca SQL la tiene incorrectamente.

Se debe usar SandboxedEnvironment si aún desea arriesgarse a compilar plantillas que no son de confianza, y se debe usar autoescape al representar variables que no son de confianza.

>Todos los comentarios

El usuario que creó ese repositorio y CVE no sabe de qué está hablando, y desafortunadamente ahora vamos a tener que seguir abordando el tema, ya que notificaron irresponsablemente a un grupo de personas sobre un problema que no es un problema de una manera oficial. . Consulte https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1 para obtener una respuesta. Envié una solicitud a MITRE para invalidar el CVE.

Decir que Jina tiene una vulnerabilidad porque existe from_string es como decir que todos los lenguajes dinámicos son vulnerables porque existe eval , o que todas las bibliotecas SQL son vulnerables porque evalúan cadenas SQL. El problema no es con esas bibliotecas, que proporcionan herramientas adecuadas para manejar la entrada del usuario. Una biblioteca SQL no tiene una vulnerabilidad de inyección, un proyecto que usa una biblioteca SQL la tiene incorrectamente.

Se debe usar SandboxedEnvironment si aún desea arriesgarse a compilar plantillas que no son de confianza, y se debe usar autoescape al representar variables que no son de confianza.

¿Fue útil esta página
0 / 5 - 0 calificaciones