
Démontre l'exécution de code arbitraire CVE-2021-21300 via des hooks Git malveillants sur des systèmes de fichiers insensibles à la casse, y compris les étapes d'exploitation et les mesures défensives.
CVE-2021-21300 est une vulnérabilité critique dans Git (versions 2.14.2 à 2.30.1) qui permet à des attaquants d'exécuter du code arbitraire sur les machines des victimes en exploitant les liens symboliques et les systèmes de fichiers insensibles à la casse.
A/post-checkout comme .git/hooks/post-checkout.Git permet des hooks définis par l'utilisateur stockés dans . Sur les systèmes de fichiers insensibles à la casse :
.git/hooks/A/post-checkout peut être interprété comme .git/hooks/post-checkout.A/ par .git/hooks/, contournant les restrictions.A et un fichier A/post-checkout contenant des commandes malveillantes.A par un lien symbolique vers .git/hooks/.A/post-checkout, il exécute en réalité le fichier malveillant dans .git/hooks/..git/hooks/..gitattributes pour déclencher le traitement LFS de A/post-checkout.A/post-checkout (par exemple, affiche "PWNED").A/a, A/b pour le rendre légitime.A/ par un lien symbolique vers .git/hooks/.git clone -c core.symlinks=true
git config --system core.symlinks true
##💡 Autres défenses potentielles
Automatiser le clonage sécurisé avec un alias Git
Créez un répertoire.
Activez la sensibilité à la casse (Windows) :
fsutil file setcasesensitiveinfo <DESTINATION FOLDER> enable
Clonez dans ce répertoire.
Créez un alias Git pour automatiser ces étapes pour un clonage plus sûr.