
Exploração de prova de conceito para CVE-2023-0386, uma vulnerabilidade de escalada de privilégio local no OverlayFS do Linux. Demonstra como o manuseio incorreto de capacidades de arquivo durante copy-up permite que usuários não privilegiados obtenham acesso root.
Este repositório fornece uma prova de conceito para CVE-2023-0386: https://nvd.nist.gov/vuln/detail/CVE-2023-0386
Membros da equipe: Bǎnicǎ Dragoș-Marius e Borsos Matheas-Roland
Aqui está o vídeo: https://www.youtube.com/watch?v=Ikux1rjIYP0
Este repositório contém um exploit de prova de conceito (PoC) para CVE-2023-0386, uma vulnerabilidade de escalada local de privilégios no subsistema OverlayFS do kernel Linux.
A vulnerabilidade permite que um usuário local sem privilégios escale privilégios para root ao explorar o tratamento incorreto de capacidades de arquivo e propriedade durante operações de copy-up do OverlayFS. O PoC demonstra como uma configuração OverlayFS cuidadosamente elaborada pode produzir um executável que mantém privilégios elevados, mesmo quando copiado de um ponto de montagem nosuid.
OverlayFS é um sistema de arquivos de união usado para combinar múltiplas árvores de diretórios em uma única visão unificada. Ele é amplamente usado em:
OverlayFS consiste em:
Quando um arquivo da camada inferior é modificado, o OverlayFS executa uma operação de copy-up: o arquivo é copiado para a camada superior e então modificado lá.
A vulnerabilidade está em como o OverlayFS lida com metadados de arquivo durante o copy-up, especificamente:
CAP_SETUID)nosuidNas versões do kernel afetadas:
nosuid.Isso quebra a suposição de segurança de que montagens nosuid impedem a escalada de privilégios.
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 equivalente)libcap-dev (ou equivalente)git clone https://github.com/dragosbanica/CVE-2023-0386_POC.git
cd CVE-2023-0386_POC
make all
Abra dois terminais e no primeiro digite
./fuse ./ovlcap/lower ./gc
No segundo terminal digite
./exp