
CVE-2021-21300 के माध्यम से केस-इनसेंसिटिव फाइलसिस्टम पर दुर्भावनापूर्ण Git हुक्स के जरिए मनमाना कोड निष्पादन का प्रदर्शन करता है, जिसमें शोषण के चरण और सुरक्षात्मक उपाय शामिल हैं।
CVE-2021-21300 Git (संस्करण 2.14.2 से 2.30.1) में एक गंभीर भेद्यता है जो हमलावरों को सिंबोलिक लिंक और केस-इनसेंसिटिव फ़ाइल सिस्टम का शोषण करके पीड़ित मशीनों पर मनमाना कोड निष्पादित करने की अनुमति देती है।
A/post-checkout को .git/hooks/post-checkout के रूप में हल करते हैं।Git उपयोगकर्ता-परिभाषित हुक्स की अनुमति देता है जो .git/hooks/ में संग्रहीत होते हैं। केस-इनसेंसिटिव फ़ाइल सिस्टम पर:
A/post-checkout जैसा तैयार किया गया फ़ोल्डर .git/hooks/post-checkout के रूप में व्याख्यायित हो सकता है।A/ को .git/hooks/ से बदल देता है, प्रतिबंधों को बायपास करते हुए।A और दुर्भावनापूर्ण कमांड्स वाली एक फ़ाइल A/post-checkout बनाएँ।A को .git/hooks/ के सिंबोलिक लिंक से बदलें।A/post-checkout निष्पादित करता है, तो वह वास्तव में .git/hooks/ में दुर्भावनापूर्ण फ़ाइल चलाता है।.git/hooks/ के लिए सिंबोलिक लिंक।A/post-checkout की LFS प्रोसेसिंग ट्रिगर करने के लिए .gitattributes बनाएँ।A/post-checkout जोड़ें (उदाहरण के लिए, "PWNED" प्रिंट करता है)।A/a, A/b जोड़ें।A/ को .git/hooks/ के सिंबोलिक लिंक से बदलें।git clone -c core.symlinks=true
git config --system core.symlinks true
##💡 अन्य संभावित बचाव
Git Alias के साथ सुरक्षित क्लोनिंग को स्वचालित करें
निर्देशिका बनाएँ।
केस संवेदनशीलता सक्षम करें (Windows):
fsutil file setcasesensitiveinfo <DESTINATION FOLDER> enable
उस निर्देशिका में क्लोन करें।
सुरक्षित क्लोनिंग के लिए इन चरणों को स्वचालित करने हेतु एक Git alias बनाएँ।