PT-2026-23094
CVE-2026-29063
·
تاريخ النشر
2026-03-04
·
تاريخ التحديث
2026-10-23
الوصف من
CVSS 3.1
8.8
عاليةالمقاييسAV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Immutable.js الأقدم من 3.8.3
إصدارات Immutable.js الأقدم من 4.3.7
إصدارات Immutable.js الأقدم من 5.1.5
الوصف
توجد ثغرة أمنية من نوع «تلوث النموذج الأولي» (Prototype Pollution) في Immutable.js في الإصدارات الأقدم من 3.8.3 و4.3.7 و5.1.5، وتحديدًا داخل واجهات برمجة التطبيقات (APIs)
mergeDeep() وmergeDeepWith() وmerge() وMap.toJS() وMap.toObject(). وهذا يسمح بتعديل سلسلة النماذج الأولية (prototype chain) بشكل محتمل، مما قد يؤدي إلى سلوك غير متوقع أو انتهاكات أمنية. تحدث المشكلة لأن واجهات برمجة التطبيقات هذه لا توفر الحماية الكافية ضد إدخال خصائص في الكائن proto أثناء دمج الكائنات أو تحويلها. تقوم الدالة mergeDeep() بتكرار مفاتيح المصدر عبر ObjectSeq وتعيين merged[key]. تستخدم الدالة mergeDeepWith() نفس مسار الكود. أما الدالة merge() فهي نسخة سطحية ذات منطق تعيين مشابه. تقوم الدالتان Map.toJS() وMap.toObject() بتعيين القيم دون التحقق من خصائص proto. تتأثر الدالة Map.mergeDeep() أيضًا عندما يتم تحويل المصدر إلى كائن بسيط. يوضح كود إثبات المفهوم كيف يمكن للمهاجم حقن خصائص في سلسلة النماذج الأولية عبر حمولة JSON مُعدَّلة، مما قد يؤدي إلى تصعيد الامتيازات أو التحايل على إجراءات التحقق الأمنية.التوصيات
قم بالتحديث إلى الإصدار 3.8.3 أو أحدث من Immutable.js.
قم بالتحديث إلى الإصدار 4.3.7 أو أحدث من Immutable
قابلية الاستغلال
استغلال
إصلاح
التأثيرات
الباحثون
المورّدون
المنتجات المتأثرة
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾