CVE-2024-21626 : Analyse complète de la faille RCE critique dans runc
CVE-2024-21626 est l'une des vulnérabilités les plus critiques découvertes en 2024 pour les environnements conteneurisés. Elle affecte runc, le runtime de conteneurs utilisé par Docker, Kubernetes et la grande majorité des orchestrateurs modernes.
Score CVSS v3.1 : 9.8 / Critique — Classification : Remote Code Execution + Container Escape
Qu'est-ce que runc ?
Runc est le runtime de conteneurs bas-niveau sur lequel repose tout l'écosystème de conteneurisation moderne. Docker, containerd, Podman et Kubernetes l'utilisent pour instancier les conteneurs. Une vulnérabilité dans runc impacte donc potentiellement des millions d'environnements de production.
Mécanisme d'exploitation de CVE-2024-21626
Cause racine : mauvaise gestion des descripteurs de fichiers
La faille réside dans une gestion incorrecte des descripteurs de fichiers (file descriptors) au moment de l'initialisation d'un conteneur. En abusant de ce comportement, un attaquant qui contrôle l'image d'un conteneur peut :
- Placer un binaire malveillant dans l'image
- Déclencher son exécution au démarrage du conteneur
- Obtenir un accès shell sur le système hôte avec les privilèges de runc
# Exemple de vecteur d'attaque simplifié
FROM ubuntu:22.04
COPY exploit /exploit
ENTRYPOINT ["/exploit"]
Scénarios d'attaque réels
- Supply chain attack : image malveillante distribuée via Docker Hub
- Multi-tenant cloud : évasion de conteneur dans un environnement partagé
- CI/CD : exécution de code arbitraire dans un pipeline de build
Systèmes affectés
| Composant | Versions vulnérables | Version corrective |
|---|---|---|
| runc | < 1.1.12 | ≥ 1.1.12 |
| Docker Engine | < 25.0.3, < 24.0.9 | ≥ 25.0.3 / 24.0.9 |
| containerd | < 1.7.13, < 1.6.26 | ≥ 1.7.13 / 1.6.26 |
| Kubernetes | Via containerd affecté | Mettre à jour containerd |
Impact réel et conséquences
Une exploitation réussie de CVE-2024-21626 permet :
- Évasion de conteneur : accès complet au système hôte avec les droits root
- Compromission latérale : pivot vers d'autres conteneurs sur le même hôte
- Exfiltration de données : accès aux secrets Kubernetes, aux volumes montés et aux credentials
- Persistance : installation de backdoors sur l'hôte compromis
Contexte critique : Cette vulnérabilité est particulièrement dangereuse dans les environnements multi-tenant où plusieurs clients partagent le même hôte physique (cloud public, PaaS).
Indicateurs de compromission (IoC)
- Accès anormal depuis un processus conteneur vers
/proc/self/fd - Création de fichiers en dehors du filesystem du conteneur
- Processus runc avec accès à des chemins hôte inhabituels
Guide de remédiation pas à pas
Étape 1 : Vérifier votre version runc
runc --version
# Sortie attendue après patch : runc version 1.1.12
Étape 2 : Mettre à jour selon votre environnement
Docker :
# Ubuntu/Debian
apt-get update && apt-get upgrade docker-ce docker-ce-cli containerd.io
# RHEL/CentOS
yum update docker-ce
Kubernetes (via containerd) :
apt-get update && apt-get install containerd.io=1.7.13-*
systemctl restart containerd
Étape 3 : Redemarrer tous les conteneurs
# ATTENTION : cette commande redémarre tous les conteneurs
docker restart $(docker ps -q)
Étape 4 : Auditer vos images
# Scanner vos images pour détecter CVE-2024-21626
docker scout cves IMAGE_NAME
Détection automatique avec Breach Atlas
Breach Atlas détecte automatiquement CVE-2024-21626 via son profil Critical / High Risk. Dès la détection, la plateforme génère :
- Une alerte immédiate avec score de criticite
- Les instructions de remédiation adaptées à votre environnement
- Un suivi du statut de correction
FAQ — CVE-2024-21626
Q : Suis-je vulnérable si j'utilise Docker Desktop ? Docker Desktop 4.27.1+ intègre le patch. Vérifiez votre version.
Q : Est-ce que Kubernetes gère automatiquement le patch ? Non. Kubernetes dépend de containerd qui dépend de runc. La mise à jour doit être faite manuellement sur chaque noeud.
Q : Est-ce que CVE-2024-21626 est exploité dans la nature ? Des PoC publics existent. Des tentatives d'exploitation ont été observées dans des environnements de production.
Conclusion
CVE-2024-21626 illustre parfaitement pourquoi la surveillance continue de la surface d'attaque est indispensable. Les organisations qui détectent et corrigent ce type de vulnérabilité en moins de 48h ont un avantage décisif sur les attaquants.
Mots-clés : CVE-2024-21626, runc vulnérabilité, Docker RCE, évasion conteneur, Kubernetes sécurité, container escape, remédiation CVE critique