
Proof-of-concept exploit per CVE-2021-21300, che dimostra l'esecuzione arbitraria di codice tramite hook Git malevoli su filesystem case-insensitive. Include flusso di attacco, condizioni di attivazione e misure difensive.
CVE-2021-21300 è una vulnerabilità critica in Git (versioni dalla 2.14.2 alla 2.30.1) che consente agli attaccanti di eseguire codice arbitrario sulle macchine vittime sfruttando collegamenti simbolici e file system che non fanno distinzione tra maiuscole e minuscole.
A/post-checkout come .git/hooks/post-checkout.Git consente hook definiti dall'utente memorizzati in .git/hooks/. Su file system case-insensitive:
A/post-checkout può essere interpretata come .git/hooks/post-checkout.A/ con .git/hooks/, aggirando le restrizioni.A e un file A/post-checkout contenente comandi malevoli.A con un collegamento simbolico a .git/hooks/.A/post-checkout, esegue effettivamente il file malevolo in .git/hooks/..git/hooks/..gitattributes per attivare l'elaborazione LFS di A/post-checkout.A/post-checkout (es. stampa "PWNED").A/a, A/b per renderlo legittimo.A/ con un collegamento simbolico a .git/hooks/.git clone -c core.symlinks=true
git config --system core.symlinks true
##💡 Altre Potenziali Difese
fsutil file setcasesensitiveinfo <DESTINATION FOLDER> enable