PoC CVE-2024-28157
अवलोकन
जेनकिंस GitBucket प्लगइन संस्करण 0.8 और पुराने संस्करण बिल्ड व्यूज़ पर Gitbucket URL को सैनिटाइज़ नहीं करता है, जिसके परिणामस्वरूप एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग XSS भेद्यता उत्पन्न होती है जो कार्यों को कॉन्फ़िगर करने में सक्षम हमलावरों द्वारा शोषणीय है।
शोषण चरण
जेनकिंस सेटअप (डॉकर का उपयोग करके):
- जेनकिंस इमेज चलाने के लिए डॉकर का उपयोग करें।
docker run jenkins/jenkins:lts
- GUI से Gitbucket प्लगइन इंस्टॉल करें (इस प्लगइन का नवीनतम संस्करण 0.8 है जो कमजोर है, इसलिए शोषण काम करेगा)।
शोषण:
- नया आइटम पर जाएं और एक नया कार्य बनाएं। आइटम प्रकार चुनें (मैंने डेमो में फ्रीस्टाइल प्रोजेक्ट चुना)।
- कॉन्फ़िगरेशन में, Gitbucket URL अनुभाग के अंदर एक सरल xxs पेलोड
javascript:alert('hello') प्रदान करें।
- कॉन्फ़िगरेशन सहेजें और Gitbucket विकल्प पर जाएं। xss निष्पादन देखें।
शोषण वीडियो
jenkinsxxsexploit.webm