CVE-2021-29440
Procesamiento Twig inseguro de páginas estáticas que conduce a RCE en Grav CMS 1.7.10
- Grav es una plataforma web basada en archivos. El procesamiento Twig de páginas estáticas puede habilitarse en el front matter por cualquier usuario administrativo con permisos para crear o editar páginas. Dado que el procesador Twig se ejecuta sin sandbox, este comportamiento puede ser utilizado para obtener ejecución arbitraria de código y elevar privilegios en la instancia.
Explicación
- Necesitas un usuario que tenga acceso al panel /admin con privilegios de creación de páginas.
- El bloque de front matter soporta una directiva llamada process.twig, que aplicará un paso de renderizado Twig al contenido antes de servir la página.
- Aunque este comportamiento está deshabilitado por defecto, los usuarios con privilegios básicos de creación de páginas pueden habilitar esta característica en el front matter.
- Creamos una página con el contenido
{{ system("id") }} y luego habilitamos el renderizado Twig: Avanzado --> Proceso --> Twig (habilitar)
- Visitamos la página creada para ver la salida de nuestro comando.
Uso
- Edita las variables username, password y url, y luego ejecuta el script.
python3 exploit.py
Entorno
- Ejecuta environment.sh para configurar Grav CMS 1.7.10 en apache.
Créditos