CVE-2021-29440
Traitement non sécurisé de Twig des pages statiques menant à une exécution de code à distance (RCE) dans Grav CMS 1.7.10
- Grav est une plateforme web basée sur des fichiers. Le traitement Twig des pages statiques peut être activé dans le front matter par tout utilisateur administratif autorisé à créer ou modifier des pages. Comme le processeur Twig fonctionne sans sandbox, ce comportement peut être utilisé pour exécuter du code arbitraire et élever les privilèges sur l'instance.
Explication
- Vous avez besoin d'un utilisateur ayant accès au tableau de bord /admin avec des privilèges de création de pages.
- Le bloc front matter prend en charge une directive nommée process.twig, qui appliquera un passage de rendu Twig sur le contenu avant de servir la page.
- Bien que ce comportement soit désactivé par défaut, les utilisateurs disposant de privilèges de base de création de pages peuvent activer cette fonctionnalité dans le front matter.
- Nous créons une page avec le contenu
{{ system("id") }} puis activons le rendu Twig : Advanced --> Process --> Twig (enable)
- En visitant la page créée pour voir le résultat de notre commande
Utilisation
- Modifiez les variables username, password et url, puis exécutez le script
python3 exploit.py
Environnement
- Exécutez environment.sh pour installer Grav CMS 1.7.10 sur Apache.
Crédits