CVE-2026-35565 in Storm UI
الملخص
بحسب VulDB • 10/05/2026
تجاوز نطاق تخزين نص البرمجة عبر المواقع (XSS) عبر بيانات تعريف الطوبولوجيا غير المُطهّرة في واجهة Apache Storm UI
الإصدارات المتأثرة: قبل الإصدار 2.8.6
الوصف: يقوم مكون التصور في واجهة Storm UI بإدراج بيانات تعريف الطوبولوجيا، بما في ذلك معرفات المكونات وأسماء التدفقات وقيم التجميع، مباشرةً في HTML عبر خاصية innerHTML في الدالتين parseNode() و parseEdge() دون أي عملية تطهير على أي طبقة. يمكن لمستخدم مُصادق عليه يمتلك حقوق تقديم الطوبولوجيا صياغة طوبولوجيا تحتوي على كود HTML/JavaScript ضار في معرّفات المكونات (على سبيل المثال، معرف عقدة معالجة (bolt) يحتوي على معالج حدث onerror). يتدفق هذا الحمولة عبر Nimbus → Thrift → واجهة برمجة التطبيقات للتصور → عرض تلميحات الأدوات في مكتبة vis.js، مما يؤدي إلى تجاوز نطاق تخزين نص البرمجة عبر المواقع (Stored XSS).
في عمليات النشر متعددة المستأجرين حيث يكون تقديم الطوبولوجيا متاحاً للمستخدمين الأقل موثوقية بينما يتم الوصول إلى الواجهة من قبل المشغلين أو المسؤولين، يتيح ذلك تصعيد الامتيازات من خلال تنفيذ السكريبتات في جلسة متصفح المسؤول.
التخفيف: يجب على مستخدمي الإصدار 2.x الترقية إلى الإصدار 2.8.6. أما المستخدمون الذين لا يمكنهم الترقية فوراً فيجب عليهم تطبيق تصحيح برمجي (monkey-patch) للدالتين parseNode() و parseEdge() في ملف JavaScript الخاص بالتصور لتحويل جميع القيم المقدمة عبر واجهة برمجة التطبيقات إلى كود HTML آمن (HTML-escape)، بما في ذلك nodeId و :capacity و :latency و :component و :stream و :grouping، قبل إدراجها في سلاسل HTML الخاصة بتلميحات الأدوات، ويجب عليهم أيضاً تقييد تقديم الطوبولوجيا للمستخدمين الموثوقين فقط عبر صلاحيات الوصول (ACLs) في Nimbus كإجراء دفاعي متعدد الطبقات. يتوفر دليل حول كيفية القيام بذلك في ملاحظات إصدار 2.8.6.
الإسناد: تم اكتشاف هذه المشكلة أثناء التحقيق في تقرير آخر بواسطة K.
If you want to get best quality of vulnerability data, you may have to visit VulDB.