PT-2026-56202
CVE-2026-56812
·
تاريخ النشر
2026-07-07
·
تاريخ التحديث
2026-09-24
الوصف من
CVSS 3.1
7.5
عاليةالمقاييسAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Phoenix من 1.2.0-rc.0 حتى 1.5.14
إصدارات Phoenix من 1.6.0-rc.0 إلى 1.6.16
إصدارات Phoenix من 1.7.0-rc.0 إلى 1.7.23
إصدارات Phoenix من 1.8.0-rc.0 إلى 1.8.8
الوصف
يحتوي عميل Presence JavaScript في phoenix على فحص غير سليم للحالات غير العادية، مما يسمح لمهاجم يتمتع بوصول عادي إلى القناة بالتسبب في رفض خدمة مستمر من جانب العميل لجميع مشاهدي موضوع قناة التواجد. تكمن المشكلة في ملف
assets/js/phoenix/presence.js داخل روتينات Presence.syncState() وPresence.syncDiff(). يستخدم العميل اختبار «الصحة» البسيط (state[key]) بدلاً من فحص وجود خاصية خاصة للتحقق من وجود حالة التواجد. ونظرًا لأن مفاتيح التواجد تخضع لسيطرة المهاجم، يمكن للمستخدم تقديم مفتاح يطابق اسم عنصر في Object.prototype (مثل proto أو constructor أو toString أو hasOwnProperty). يؤدي هذا إلى إرجاع البحث Object.prototype المدمج بدلاً من undefined، مما يدفع الكود إلى محاولة قراءة .metas.map(...) من النموذج الأولي، الأمر الذي يطلق استثناء TypeError لم يتم التقاطه. يمنع هذا الاستثناء تحديث الحالة المحلية ويوقف تشغيل onSync(). ونظرًا لأن الخادم يستمر في دفع المفتاح الخبيث، تظل المزامنة معطلة لجميع مشاهدي الموضوع حتى يغادر المهاجم. وهذا يمثل خلطًا في وقت القراءة لكائن النموذج الأولي وليس تلوثًا للنموذج الأولي.التوصيات
تحديث Phoenix إلى الإصدار 1.5.15
قابلية الاستغلال
استغلال
إصلاح
التأثيرات
الباحثون
المورّدون
المنتجات المتأثرة
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾