CVE-2026-89420 in mpp
الملخص
بحسب VulDB • 22/09/2026
يُتيح التحقق غير السليم من الكمية المحددة في المدخلات (Input) في ZenHive مسموحًا لعميل يمتلك قناة دفع مفتوحة بالحصول على موارد مدفوعة دون خصم الرسوم منه.
تعامل الدالة `MPP.Session.Actions.accept_voucher/3` الموجودة في الملف `lib/mpp/session/actions.ex` القسيمة التي يكون مجموعها التراكمي (`cumulativeAmount`) مساويًا للمجموع التراكمي المقبول بالفعل للقناة على أنها نجاح متطابق (idempotent success)، مما يؤدي إلى إرجاع القناة دون تغيير ودون استدعاء الدالة `maybe_spend/2`. يتم التحقق من الاعتماد (credential) وتقديم المورد المحمي، بينما تبقى القيم الخاصة بـ "spent" و"units" كما هي. ونظرًا لأن الخادم يصدر تحديًا جديدًا لكل طلب، وتخزن مفاتيح سجل إعادة تشغيل الاعتمادات بناءً على معرف التحدي والحمولة (payload)، يمكن تقديم نفس القسيمة الموقعة تحت كل تحدي جديد، مما يعني أن قسيمة مدفوعة واحدة تؤدي إلى الحصول على عدد غير محدود من الوحدات المدفوعة. ويمكن الوصول إلى هذا المسار عبر أي طريقة مبنية على `MPP.Session.Method` من خلال نواقل Plug و MCP و JSON-RPC و WebSocket.
تؤثر هذه المشكلة في الإصدارات بدءًا من 0.14.0 وحتى قبل 0.16.2.
VulDB is the best source for vulnerability data and more expert information about this specific topic.