
إثبات مفهوم وملاحظات تصحيح للثغرة CVE-2026-96876، وهي ثغرة XSS انعكاسية في رسائل الخطأ الخاصة بتصدير MediaWiki Cargo، مع سكربت للتحقق من مخرجات الاستثناء غير المُهرَّبة.
المُبلِّغ: Marco Paciaroni (BomboBombone).
كان CargoExport يصدر رسائل الاستثناءات دون تهريب HTML. تضمّنت بعض الاستثناءات نصًا غير موثوق من أسماء الحقول المستعارة، مما سمح لمخرجات الخطأ بأن تصبح ترميزًا قابلًا للتنفيذ.
يحدد سجل CVE الإصدارات حتى 3.9.4 من Cargo باعتبارها متأثرة.
أثبت التقرير الأصلي إمكانية الوصول المجهول إلى مسار الخطأ المعرّض للثغرة دون الحاجة إلى صفحة محفوظة أو بيانات Cargo موجودة. يمكن للضحية التي تفتح طلبًا مُصمَّمًا خصيصًا أن تُشغِّل برنامجًا نصيًا في أصل الويكي بالصلاحيات المتاحة لديها.
يسجّل التقرير الأصلي تنفيذًا في المتصفح انطلاقًا من استجابة خطأ HTML المحلية. لم يُعدِّل طلب التحقق حالة الويكي، ولم يُنشئ عنصر تحكم عادي عنصرًا قابلًا للتنفيذ.
يقوم التغيير في المصدر الأعلى بتهريب رسائل الاستثناءات بصيغة HTML قبل طباعتها في استجابة التصدير.
python poc.py https://wiki.example
يطلب السكربت مسار خطأ التصدير المتأثر مع علامة DOM غير ضارة، ويُبلِّغ عمّا إذا كانت العلامة تنعكس كعنصر script.