CVE-2021-29440
Processamento inseguro de Twig em páginas estáticas levando a RCE no Grav CMS 1.7.10
- Grav é uma plataforma web baseada em arquivos. O processamento de Twig em páginas estáticas pode ser ativado no front matter por qualquer usuário administrativo autorizado a criar ou editar páginas. Como o processador Twig é executado sem sandbox, esse comportamento pode ser usado para obter execução arbitrária de código e elevar privilégios na instância.
Explicação
- Você precisa de um usuário que tenha acesso ao painel /admin com privilégios de criação de páginas.
- O bloco front matter suporta uma diretiva chamada process.twig, que aplicará uma passagem de renderização Twig no conteúdo antes de servir a página.
- Embora esse comportamento esteja desabilitado por padrão, usuários com privilégios básicos de criação de páginas podem habilitar esse recurso no front matter.
- Criamos uma página com o conteúdo
{{ system("id") }} e, em seguida, ativamos a renderização Twig: Advanced --> Process --> Twig (enable)
- Visitamos a página criada para ver a saída do nosso comando.
Uso
- Edite as variáveis username, password e url e execute o script:
python3 exploit.py
Ambiente
- Execute environment.sh para configurar o Grav CMS 1.7.10 no Apache.
Créditos