
Preuve de concept pour CVE-2023-0386, une vulnérabilité d'escalade de privilèges locale Linux OverlayFS. Montre comment une gestion incorrecte des capacités de fichiers lors du copy-up permet à des utilisateurs non privilégiés d'obtenir un accès root.
Ce dépôt fournit une preuve de concept pour CVE-2023-0386 : https://nvd.nist.gov/vuln/detail/CVE-2023-0386
Membres de l'équipe : Bǎnicǎ Dragoș-Marius et Borsos Matheas-Roland
Voici la vidéo : https://www.youtube.com/watch?v=Ikux1rjIYP0
Ce dépôt contient un exploit preuve de concept (PoC) pour CVE-2023-0386, une vulnérabilité d'escalade de privilèges locale dans le sous-système OverlayFS du noyau Linux.
La vulnérabilité permet à un utilisateur local non privilégié d'élever ses privilèges à root en exploitant une gestion incorrecte des capacités des fichiers et de la propriété lors des opérations copy-up d'OverlayFS. Le PoC montre comment une configuration OverlayFS soigneusement élaborée peut produire un exécutable qui conserve des privilèges élevés, même lorsqu'il est copié à partir d'un montage nosuid.
OverlayFS est un système de fichiers union utilisé pour combiner plusieurs arborescences de répertoires en une seule vue unifiée. Il est largement utilisé dans :
OverlayFS se compose de :
Lorsqu'un fichier de la couche inférieure est modifié, OverlayFS effectue une opération copy-up : le fichier est copié dans la couche supérieure puis modifié là-bas.
La vulnérabilité réside dans la manière dont OverlayFS gère les métadonnées des fichiers pendant le copy-up, en particulier :
CAP_SETUID)nosuidDans les versions du noyau concernées :
nosuid.Cela brise l'hypothèse de sécurité selon laquelle les montages nosuid empêchent l'escalade de privilèges.
CVE-2023-0386_POC/
├── exp.c # Main exploit logic
├── fuse.c # User-space filesystem helper (FUSE)
├── getshell.c # Privilege escalation payload
├── ovlcap/ # OverlayFS capability test utilities
│ ├── Makefile
│ └── ...
├── Makefile # Top-level build instructions
└── README.md
nosuid.gccmakelibfuse-dev (ou équivalent)libcap-dev (ou équivalent)git clone https://github.com/dragosbanica/CVE-2023-0386_POC.git
cd CVE-2023-0386_POC
make all
Ouvrez deux terminaux et dans le premier tapez
./fuse ./ovlcap/lower ./gc
Dans le deuxième terminal tapez
./exp