
Demuestra la ejecución de código arbitrario CVE-2021-21300 mediante ganchos de Git maliciosos en sistemas de archivos que no distinguen entre mayúsculas y minúsculas, incluidos los pasos de explotación y las medidas defensivas.
CVE-2021-21300 es una vulnerabilidad crítica en Git (versiones 2.14.2 a 2.30.1) que permite a atacantes ejecutar código arbitrario en máquinas víctimas explotando enlaces simbólicos y sistemas de archivos que no distinguen mayúsculas y minúsculas.
A/post-checkout como .git/hooks/post-checkout.Git permite hooks definidos por el usuario almacenados en .git/hooks/. En sistemas de archivos que no distinguen mayúsculas y minúsculas:
A/post-checkout puede interpretarse como .git/hooks/post-checkout.A/ con .git/hooks/, evitando las restricciones.A y un archivo A/post-checkout que contenga comandos maliciosos.A con un enlace simbólico a .git/hooks/.A/post-checkout, en realidad ejecuta el archivo malicioso en .git/hooks/..git/hooks/..gitattributes para activar el procesamiento LFS de A/post-checkout.A/post-checkout (por ejemplo, que imprima "PWNED").A/a, A/b para que parezca legítimo.A/ con un enlace simbólico a .git/hooks/.git clone -c core.symlinks=true
git config --system core.symlinks true
##💡 Otras Defensas Potenciales
Automatizar Clonación Segura con un Alias de Git
Crear directorio.
Habilitar distinción de mayúsculas y minúsculas (Windows):
fsutil file setcasesensitiveinfo <DESTINATION FOLDER> enable
Clonar en ese directorio.
Crear un alias de Git para automatizar estos pasos para una clonación más segura.