CVE-2021-29440
Elaborazione Twig non sicura delle pagine statiche che porta a RCE in Grav CMS 1.7.10
- Grav è una piattaforma web basata su file. L'elaborazione Twig delle pagine statiche può essere abilitata nel front matter da qualsiasi utente amministrativo autorizzato a creare o modificare pagine. Poiché il processore Twig viene eseguito senza sandbox, questo comportamento può essere utilizzato per ottenere l'esecuzione arbitraria di codice ed elevare i privilegi sull'istanza.
Spiegazione
- Serve un utente che abbia accesso alla dashboard /admin con privilegi di creazione pagine.
- Il blocco front matter supporta una direttiva chiamata process.twig, che applica una passata di rendering Twig sul contenuto prima di servire la pagina.
- Sebbene questo comportamento sia disabilitato per impostazione predefinita, gli utenti con privilegi di base di creazione pagine possono abilitare questa funzionalità nel front matter.
- Creiamo una pagina con contenuto
{{ system("id") }} e poi abilitiamo il rendering Twig: Advanced --> Process --> Twig (enable)
- Visitando la pagina creata si può vedere l'output del nostro comando.
Utilizzo
- Modifica le variabili username, password e url, quindi esegui lo script
python3 exploit.py
Ambiente
- Esegui environment.sh per configurare Grav CMS 1.7.10 su Apache.
Crediti