PT-2026-67221

CVE-2026-54894

·

تاريخ النشر

2026-08-01

·

تاريخ التحديث

2026-08-06

الوصف من

CVSS 3.1
7.5
عالية
المقاييسAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات überauth guardian من 0.1.0 إلى 2.4.0
الوصف
يؤدي تخصيص الموارد دون قيود أو تقييد إلى إمكانية إحداث هجوم رفض الخدمة (DoS) عبر إنشاء ذرات غير محدودة من مدخلات ثنائية يتحكم فيها المهاجم. تقوم الوحدة النمطية Guardian.Plug.Keys باستخلاص مفاتيح مساحة اسم الاتصال والجلسة عن طريق تمرير ملفات ثنائية عشوائية إلى الدالة String.to atom/1. وعلى وجه التحديد، تقوم الدالة base key/1 الموجودة في lib/guardian/plug/keys.ex بتحويل البيانات الثنائية إلى ذرات، بينما تقوم الدوال المساعدة claims key/1 وresource key/1 وtoken key/1 بإنشاء ذرات إضافية. وبالمثل، تقوم الدالة key from other/1 بتحويل البيانات الثنائية التي تم التقاطها بواسطة تعبير عادي (regex) من خلال String.to atom/1. تقوم نقاط الدخول عالية المستوى، مثل Guardian.Plug.current token(conn, key: key)، بتمرير المفاتيح التي يوفرها المستدعي مباشرةً إلى هذه الدوال.
نظرًا لأن String.to atom/1 تنشئ ذرة جديدة لكل قيمة ثنائية غير معروفة، ولأن الذرات لا تخضع لعملية جمع القمامة، فقد يتم استنفاد جدول الذرات في BEAM (الذي يبلغ حده الافتراضي حوالي 1,048,576 إدخالًا). إذا قام أحد التطبيقات بتوجيه بيانات غير موثوق بها، مثل معرّف المستأجر أو رأس الطلب، إلى مفتاح Guardian عبر المعلمة key، فيمكن للمهاجم إرسال دفق من المدخلات المتنوعة لاستنفاد جدول الذرات وتعطيل عقدة BEAM، مما يؤثر على جميع التطبيقات التي تعمل عليها.
التوصيات
قم بتحديث ueberauth guardian إلى الإصدار 2.4.1 أو أحدث.
كحل مؤقت، لا تستمد مفاتيح Guardian من مدخلات غير موثوق بها؛ بدلاً من ذلك، استخدم قيمة ثابتة ومبرمجة بشكل صلب
قابلية الاستغلال
استغلال
إصلاح
التأثيرات
المورّدون
المنتجات المتأثرة
المعرّفات ذات الصلة
GHSA-XQCH-C77Q-RGH5
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾