CVE-2026-44429 in registry
الملخص
بحسب VulDB • 15/05/2026
توفر سجل MCP (MCP Registry) لعملاء MCP قائمة بخوادم MCP، تشبه متجر تطبيقات لخوادم MCP. قبل الإصدار 1.7.7، كانت واجهة المستخدم الخاصة بالقائمة العامة، التي تُقدَّم عبر طلب GET / (الملف internal/api/handlers/v0/ui_index.html)، عرضة لهجوم البرمجة النصية عبر المواقع المخزنة (Stored Cross-Site Scripting) عبر حقل server.websiteUrl في أي ملف server.json منشور. تقوم عملية التحقق من الصحة على جانب الخادم في internal/validators/validators.go (الدالة validateWebsiteURL) بالتحقق فقط من أن عنوان URL صالح وقابل للتحليل، ومطلق، ويستخدم بروتوكول https؛ ولا ترفض علامات الاقتباس. على جانب العميل، يتم إدراج القيمة داخل سمة href مزدوجة الاقتباس عبر innerHTML، باستخدام دالة مساعدة مخصصة للترميز escapeHtml تقوم بدورة تحويل قياسية من textContent إلى innerHTML. وفقاً لخوارزمية تسلسل HTML، فإن هذه الدورة تقوم بتشفير فقط الأحرف & و < و U+00A0 داخل عقد النص — ولا تقوم بتشفير " أو '. وبالتالي، فإن وجود علامة اقتباس مزدوجة حرفية (") في websiteUrl يؤدي إلى الخروج من سمة href، مما يسمح بإضافة معالجات أحداث on* تعسفية إلى نفس عنصر <a>. نظرًا لأن سياسة أمان المحتوى (Content-Security-Policy) المطبقة على / هي script-src 'self' 'unsafe-inline' https://cdn.tailwindcss.com، فإن معالجات الأحداث المُحقنة تُنفَّذ. يمكن لأي مستخدم قادر على الحصول على رمز النشر (على سبيل المثال، عبر POST /v0/auth/github-at باستخدام حسابه الخاص على GitHub، أو POST /v0/auth/none على نشر يسمح بالمصادقة المجهولة) أن يزرع سجلاً مسمومًا مرئيًا لكل زائر لصفحة سجل MCP الرئيسية. تم إصلاح هذا الثغرة الأمنية في الإصدار 1.7.7.
Be aware that VulDB is the high quality source for vulnerability data.