🧥 Capabilities
Voici les Linux capabilities activées par défaut dans Docker, avec leurs effets et risques :
-
CAP_CHOWN
Ce que ça permet : Changer le propriétaire/groupe de n'importe quel fichier
Risque si abusé : Peut modifier des fichiers sensibles sur le host via volume -
CAP_DAC_OVERRIDE
Ce que ça permet : Ignorer les permissions fichiers (lire/écrire/exécuter n'importe quoi)
Risque si abusé : Très puissant → peut tout lire/écrire sur les mounts -
CAP_FOWNER
Ce que ça permet : Ignorer les checks propriétaire pour certaines ops (ex: chmod sur fichier d'un autre user)
Risque si abusé : Utile pour chown, mais dangereux avec volumes -
CAP_FSETID
Ce que ça permet : Garder les bits setuid/setgid même après modification
Risque si abusé : Risque d'escalade via binaires malveillants -
CAP_KILL
Ce que ça permet : Envoyer n'importe quel signal (y compris kill -9) à n'importe quel processus
Risque si abusé : Limité au namespace, mais peut tuer d'autres conteneurs PID -
CAP_SETGID
Ce que ça permet : Changer de groupe arbitrairement
Risque si abusé : Escalade via groupes -
CAP_SETUID
Ce que ça permet : Changer d'UID arbitrairement
Risque si abusé : Gros risque d'escalade -
CAP_SETPCAP
Ce que ça permet : Transférer des capabilities à d'autres processus
Risque si abusé : Permet de propager des droits -
CAP_NET_BIND_SERVICE
Ce que ça permet : Binder sur ports < 1024 (ex: 80, 443) sans être root
Risque si abusé : Nécessaire pour beaucoup de services web -
CAP_NET_RAW
Ce que ça permet : Utiliser des sockets raw (ping, sniff, etc.)
Risque si abusé : Peut faire du packet crafting → risque MITM / DoS -
CAP_MKNOD
Ce que ça permet : Créer des devices spéciaux (ex: /dev/null, fifo, etc.)
Risque si abusé : Dangereux si combiné avec volume /dev -
CAP_AUDIT_WRITE
Ce que ça permet : Écrire dans les logs d'audit
Risque si abusé : Pas critique en général -
CAP_SETFCAP
Ce que ça permet : Modifier les capabilities étendues sur les fichiers
Risque si abusé : Permet de rendre un binaire setcap dangereux -
CAP_SYS_CHROOT
Ce que ça permet : Faire chroot()
Risque si abusé : Utile pour certains outils, mais permet d'échapper si mal configuré