PoC CVE-2024-28157
نظرة عامة
لا يقوم إصدار GitBucket Plugin في Jenkins 0.8 والإصدارات الأقدم بتعقيم روابط Gitbucket في طرق عرض البناء (build views)، مما يؤدي إلى ثغرة cross-site scripting (XSS) مخزّنة يمكن استغلالها من قبل المهاجمين القادرين على تكوين الوظائف (jobs).
خطوات الاستغلال
إعداد Jenkins (باستخدام docker):
- استخدم docker لتشغيل صورة jenkins.
docker run jenkins/jenkins:lts
- قم بتثبيت Gitbucket Plugin من الواجهة الرسومية (أحدث إصدار من هذا المكوّن الإضافي هو 0.8 وهو قابل للاستغلال، لذا سيعمل الاستغلال).
الاستغلال:
- انتقل إلى New Item وأنشئ وظيفة جديدة. اختر نوع العنصر (استخدمت مشروعًا حرًا / freestyle project في العرض التوضيحي).
- في الإعدادات، قدّم حمولة xss بسيطة
javascript:alert('hello') داخل قسم رابط Gitbucket.
- احفظ الإعدادات وانتقل إلى خيار Gitbucket. لاحظ تنفيذ الـ xss.
فيديو الاستغلال