Neil Berkman

#12682من 60,399
25.2إجمالي CVSS
الثغرات · 4
منخفضة
1
متوسطة
1
عالية
1
حرجة
1
PT-2026-121827
2026-10-23
5.1
CVE-2026-105963
Plug
Plug
يمكن لمهاجم عن بُعد غير مصرح له الكشف عن قاعدة المفتاح السري أو أسرار حساسة أخرى من خلال سجلات التطبيق عن طريق تقديم وسائط ذات أنواع خاطئة. يحدث هذا لأن الوظائف العامة في `Plug.Crypto` تستخدم حراس رأس الوظيفة (function-head guards) للتحقق من صحة الوسائط. عندما يفشل الحارس، تطلق آلة Erlang VM خطأ `FunctionClauseError` يتضمن قيم الوسائط الفعلية في إطار المكدس العلوي. وبما أن كتل `rescue` الخاصة بالمكتبة ووظيفة `Plug.Crypto.prune args from stacktrace/1` تتعامل فقط مع الاستثناءات التي يتم إثارتها داخل جسم الوظيفة، فإنها لا تلتقط فشل الحارس. وبناءً على ذلك، يقوم Plug.Cowboy و Bandit بكتابة هذا الإطار في سجل الأخطاء وإرفاقه كبيانات وصفية لـ `crash reason` والتي قد يتم توجيهها إلى أدوات تتبع الأخطاء. هناك نقطتا دخول رئيسيتان متأثرتان: - تقوم `Plug.Crypto.verify/4` بالكشف عن قاعدة المفتاح السري عندما لا يكون الرمز (token) ثنائيًا ولا فارغًا (nil). - تقوم `Plug.Crypto.secure compare/2` بالكشف عن السر الموجود في جانب الخادم عندما لا يكون أحد المعاملات ثنائيًا، كما يحدث عندما يؤدي رأس طلب مفقود إلى قيمة فارغة (nil). يتطلب الوصول إلى المعلومات المسربة وصولاً منفصلاً إلى سجلات التطبيق أو أداة تتبع الأخطاء.