
أداة للكشف الآلي ومعالجة ثغرات واجهة ServiceNow UI Macro (CVE-2025-11449, CVE-2025-11450) عبر ترميز معاملات sysparm_ لمنع هجمات XSS.
يكتشف هذا السكربت تلقائيًا ويعالج ثغرات الأمان CVE-2025-11449 و CVE-2025-11450 في وحدات واجهة ServiceNow (UI Macros). قد تسمح هذه الثغرات بتنفيذ كود عشوائي في متصفحات المستخدمين عبر روابط مصممة خصيصًا إذا لم يتم تنظيف معاملات sysparm_ التي يتحكم فيها المستخدم بشكل صحيح.
$pwd_verify_email$pwd_verify_personal_data_uiيقوم السكربت بإجراء إصلاحين أمنيين رئيسيين:
<g:evaluate>يستبدل الأنماط الضعيفة بنسخ مشفرة بشكل صحيح:
${sysparm_<XYZ>} ← ${JS,HTML:sysparm_<XYZ>}${HTML:sysparm_<XYZ>} ← ${JS,HTML:sysparm_<XYZ>}${JS:sysparm_<XYZ>} ← ${JS,HTML:sysparm_<XYZ>}<g:evaluate>: استخدام مراجع متغيرات Jellyيستبدل استيفاء النصوص بمراجع كائنات Jelly الآمنة:
"${sysparm_<XYZ>}" ← jelly.sysparm_<XYZ> (يزيل علامات الاقتباس!)${HTML:sysparm_<XYZ>} ← jelly.sysparm_<XYZ>${JS,HTML:sysparm_<XYZ>} ← jelly.sysparm_<XYZ> (لا يزال غير آمن داخل <g:evaluate>)قم بعمل نسخة احتياطية أولاً!
// قم بتصدير وحدات الواجهة الحالية قبل تشغيل هذا السكربت
// انتقل إلى: System UI > UI Macros
// قم بتصدير: $pwd_verify_email و $pwd_verify_personal_data_ui
قم بتشغيل سكربت الكشف
CVE_2025_11449_fix.jsراجع المخرجات
قم بتطبيق الإصلاح
اختبر بدقة
AFFECTED Macro: $pwd_verify_personal_data_ui (sys_id: abc123...) [ACTIVE - HIGH PRIORITY]
Found 8 vulnerable sysparm_ pattern(s) outside <g:evaluate>:
- ${HTML:sysparm_verification_id}
- ${HTML:sysparm_verification_id}
- ${HTML:sysparm_verification_id}
- ${HTML:sysparm_verification_id}
- ${HTML:sysparm_verification_id}
... and 3 more
Found 1 vulnerable sysparm_ pattern(s) inside <g:evaluate>:
- "${sysparm_verification_id}"
Suggested Cured XML:
[Fixed XML output here]
---
للفحص وحدات واجهة إضافية، قم بتعديل السطر 3:
var macrosToCheck = ['$pwd_verify_email', '$pwd_verify_personal_data_ui', 'your_custom_macro'];
حرج: تسمح هذه الثغرات بهجمات البرمجة النصية عبر المواقع (XSS) التي يمكن أن:
وجدت مشكلة أو لديك تحسين؟ يرجى:
رخصة MIT - حر في الاستخدام والتعديل والتوزيع.
استخدم على مسؤوليتك الخاصة! دائمًا:
يتم توفير هذا السكربت كما هو دون أي ضمان. المؤلف غير مسؤول عن أي ضرر أو مشاكل ناتجة عن استخدامه.
تم إنشاء السكربت بواسطة ServiceNow Helper من تأليف Daniel Aagren Seehartrai Madsen
تم إنشاؤه لمساعدة مجتمع ServiceNow في معالجة الثغرات الأمنية الحرجة بسرعة وأمان.