
Demonstra CVE-2021-21300 execução arbitrária de código via hooks Git maliciosos em sistemas de arquivos que não diferenciam maiúsculas de minúsculas, incluindo etapas de exploração e medidas defensivas.
CVE-2021-21300 é uma vulnerabilidade crítica no Git (versões 2.14.2 a 2.30.1) que permite que atacantes executem código arbitrário em máquinas vítimas explorando links simbólicos e sistemas de arquivos que não diferenciam maiúsculas de minúsculas.
A/post-checkout como .git/hooks/post-checkout.O Git permite ganchos definidos pelo usuário armazenados em . Em sistemas de arquivos que não diferenciam maiúsculas de minúsculas:
.git/hooks/A/post-checkout pode ser interpretada como .git/hooks/post-checkout.A/ por .git/hooks/, contornando restrições.A e um arquivo A/post-checkout contendo comandos maliciosos.A por um link simbólico para .git/hooks/.A/post-checkout, na verdade ele executará o arquivo malicioso em .git/hooks/..git/hooks/..gitattributes para acionar o processamento LFS de A/post-checkout.A/post-checkout (ex.: exibe "PWNED").A/a, A/b para parecer legítimo.A/ por link simbólico para .git/hooks/.git clone -c core.symlinks=true
git config --system core.symlinks true
##💡 Outras Defesas Potenciais
Automatizar a Clonagem Segura com Alias do Git
Criar diretório.
Ativar diferenciação de maiúsculas/minúsculas (Windows):
fsutil file setcasesensitiveinfo <PASTA DE DESTINO> enable
Clonar nesse diretório.
Criar um alias do Git para automatizar esses passos para uma clonagem mais segura.