
Prova de conceito em Python para a CVE-2026-92592, uma RCE autenticada no Craft CMS que abusa de cookies assinados de license-shun para executar payloads Twig e rodar comandos.
Prova de conceito para CVE-2026-92592 / GHSA-5r92-75j8-c534. O Craft assina dados controlados pelo atacante no cookie autenticado license-shun com a mesma chave e formato usados para redirecionamentos de login assinados. Reutilizar esse valor assinado como redirect faz com que o Craft o renderize como Twig sem sandbox, permitindo a execução de comandos por meio do comportamento map('system') do Twig.
Craft CMS 4.8.0 até 4.18.5 e 5.0.0 até 5.10.12 são afetados. Atualize para 4.18.6 ou 5.10.13 ou posterior. O Craft 5.9.8 é afetado.
Use isto apenas contra sistemas que você possui ou está autorizado a testar.
requestscookieValidationKey e a securityKey do Craftsystem(), sh e base64 disponíveis no alvoCrie um ambiente isolado e instale o pacote Python:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install requests
Execute o exploit com a URL do alvo, nome de usuário, senha e comando:
python3 craftcms_rce.py \
-t https://craft.example \
-u author \
-p 'password' \
'id'
Senhas passadas na linha de comando podem ficar visíveis no histórico do shell e na listagem de processos. Use credenciais de teste temporárias. Passe --proxy para um proxy de depuração HTTP e --insecure apenas quando o alvo usar um certificado que não possa ser verificado.
A saída padrão e a saída de erro do comando são combinadas e impressas na saída padrão. Execute python3 craftcms_rce.py --help para ver todas as opções.
app/set-license-shun-cookie e captura o valor do cookie assinado pelo Craft.redirect em outra requisição de login.