
POC para CVE-2021-41091
Este exploit oferece uma análise aprofundada da vulnerabilidade de segurança CVE-2021-41091 e fornece um guia passo a passo sobre como utilizar o script de exploit para obter escalonamento de privilégios em um host.
CVE-2021-41091 é uma falha no Moby (Docker Engine) que permite que usuários Linux não privilegiados percorram e executem programas dentro do diretório de dados (geralmente localizado em /var/lib/docker) devido a permissões restritas de forma inadequada. Esta vulnerabilidade está presente quando os contêineres contêm programas executáveis com permissões estendidas, como setuid. Usuários Linux não privilegiados podem então descobrir e executar esses programas, bem como modificar arquivos se o UID do usuário no host corresponder ao proprietário ou grupo do arquivo dentro do contêiner.
O sistema de arquivos overlay é um componente crítico na exploração desta vulnerabilidade. O sistema de arquivos overlay do Docker permite que o sistema de arquivos do contêiner seja sobreposto ao sistema de arquivos do host, permitindo assim que o sistema host acesse e manipule os arquivos dentro do contêiner. No caso do CVE-2021-41091, as permissões de diretório excessivamente permissivas em /var/lib/docker/overlay2 permitem que usuários não privilegiados acessem e executem programas dentro dos contêineres, levando a um potencial ataque de escalonamento de privilégios. Etapas de Exploração
Conecte-se ao contêiner Docker hospedado em sua máquina e obtenha acesso root.
Dentro do contêiner, defina o bit setuid em /bin/bash com o seguinte comando: chmod u+s /bin/bash
No sistema host, execute o script de exploit fornecido (poc.sh) clonando o repositório e executando o script da seguinte forma:
git clone https://github.com/UncleJ4ck/CVE-2021-41091
cd CVE-2021-41091
chmod +x ./poc.sh
./poc.sh
Testado na versão do mecanismo Docker 20.10.5+dfsg1
É crucial atualizar o Docker para a versão 20.10.9 ou superior para corrigir esta vulnerabilidade.