
Eclipse Che CSRF जिससे RCE होता है
यह बग एक दूरस्थ वेबसाइट को उन मशीनों पर एक मनमाना डॉकर कंटेनर बनाने और शुरू करने की अनुमति देता है जो Che संस्करण 7.3.0 और 7.4.1 से पहले चला रही हैं, जब कोई उपयोगकर्ता किसी वेबपेज पर जाता है।
यह एक CSRF बग है जो एक दूरस्थ वेबसाइट को Eclipse Che को स्टैंडअलोन मोड में चला रहे किसी भी व्यक्ति की मशीन पर एक डॉकर कंटेनर बनाने और शुरू करने की अनुमति देता है। हमलावर के नियंत्रण में कई पैरामीटर नियंत्रण का एक सटीक स्तर प्रदान करते हैं। कुछ डेवलपर अपने स्थानीय डॉकर कंटेनरों को प्रबंधित करने के सुविधाजनक तरीके के रूप में स्टैंडअलोन मोड में Che का उपयोग करते हैं।
यह संभव था क्योंकि Che में डिफ़ॉल्ट रूप से CORS सक्षम था। इसके साथ समस्याएं उन लोगों के लिए काफी स्पष्ट हैं जो समझते हैं कि इसका क्या अर्थ है, लेकिन मूल रूप से Che किसी भी स्रोत से अनुरोधों का जवाब देता था। हालाँकि ब्राउज़र CORS हमलों को कठिन बनाने की पूरी कोशिश करते हैं, जब सर्वर CORS की अनुमति देता है तो एक दूरस्थ साइट से स्थानीय रूप से चल रही Che सेवा पर एक सफल POST अनुरोध बनाना संभव है।
मूल रूप से, इसका मतलब है कि कोई भी अप्रमाणित API विधि कॉल की जा सकती है जब स्टैंडअलोन मोड में Che चलाने वाला कंप्यूटर उनकी वेबसाइट पर जाता है। इसमें नए Docker/OpenShift कंटेनर बनाना और चलाना शामिल है।
एक सरल POC इस readme के साथ शामिल है, लेकिन स्थानीय Che सेवा पर पोस्ट किए गए JSON को देखने से नियंत्रित किए जाने वाले कई दिलचस्प पैरामीटर सामने आते हैं, जिनमें कौन सी छवि, शुरू होने पर कौन से कमांड चलाने हैं, कंटेनर में कौन से सर्वर शुरू करने हैं और अन्य काफी दिलचस्प विशेषताएं शामिल हैं।
इस भेद्यता का शोषण करने के लिए, आपको किसी ऐसे व्यक्ति को लक्षित करना होगा जो अपने कंप्यूटर पर Eclipse Che चला रहा है। आपको अपने लक्ष्य को एक ऐसे पेज पर जाने के लिए प्रेरित करना होगा जिसे आप HTTP पर नियंत्रित करते हैं। वहाँ से, XMLHttpRequest अपना काम करता है और आप मनचाही कार्रवाई कर सकते हैं। इस भेद्यता का शोषण करने के तरीके को पूरी तरह से समझने के लिए, आपको API के बारे में जानने के लिए Che स्रोत कोड को देखना चाहिए या बस इस रेपो में रखे गए POC के साथ खेलना चाहिए। मूल रूप से, आप या तो एक कंटेनर या अपने नए लॉन्च किए गए कंटेनर में एक कमांड बनाना चाहते हैं जो आपको वांछित प्रकार का पैर जमाने देता है। आप अपनी पसंद का सर्वर सेट कर सकते हैं या बस लॉन्च के समय कमांड को अपना पेलोड डाउनलोड करने और वहाँ से काम शुरू करने के लिए बना सकते हैं। यह हमला अवसरवादी या लक्षित हमलों के लिए उपयुक्त है।
अधिक विस्तृत चर्चा के लिए, यहाँ ट्रैक किए गए बग को देखें। इसमें से अधिकांश केवल इस पोस्ट को दोहरा रहा है।
इस हमले को सफलतापूर्वक निष्पादित करने के लिए, पेज को HTTP (HTTPS नहीं) सर्वर से परोसा जाना चाहिए। यह आवश्यक है क्योंकि एक स्थानीय Che सर्वर HTTP पर चलता है और लोकप्रिय ब्राउज़र HTTP और HTTPS सामग्री को मिलाना पसंद नहीं करते हैं।
इस समस्या को ठीक करने के लिए, Che टीम ने डिफ़ॉल्ट रूप से CORS को अक्षम कर दिया। इससे कम से कम भविष्य में इस प्रकार के हमले को काफी कठिन बना देना चाहिए। यदि आप अपने डॉकर इमेज को प्रबंधित करने के लिए स्थानीय रूप से Che चला रहे हैं, तो अपग्रेड करने पर विचार करें।