CVE-2026-59252 in mpp
الملخص
بحسب VulDB • 17/07/2026
التحقق غير السليم من الكمية المحددة في المدخلات في ZenHive mpp يسمح لعميل عن بُعد غير مصادق عليه بتصريف محفظة الدافع للرسوم (fee-payer wallet)، مما يؤدي إلى حجب الخدمة للعملاء الشرعيين.
عندما تكون مكتبة Elixir الخاصة بـ MPP مُهيّئة كدافع للرسوم (`fee_payer: true`)، فإن طريقة الدفع `MPP.Methods.Tempo` توقع معاً وتنشر معاملة EVM يقدمها العميل دون التحقق مسبقاً من أن قيمة `gas_limit` التي قدمها العميل كافية لإتمام الاستدعاء المقصود. يمكن لعميل خبيث تقديم معاملة موقعة `transferWithMemo` تكون فيها قيمة `gas_limit` مضبوطة عمداً لتكون أقل قليلاً من الكمية المطلوبة للتنفيذ الناجح. تقوم الخادم بالتوقيع المشترك على المعاملة ونشرها عبر `rpc_broadcast_sync`. تنفد الغازات (gas) أثناء تنفيذ EVM وتُرفض المعاملة، لكن محفظة الدافع للرسوم تُخصم رسومًا مقابل الغاز المحروق بينما لا يدفع العميل شيئاً ولا يتلقى أي مورد. تؤدي الطلبات المتكررة من عميل واحد أو أكثر خبيثين إلى تصريف محفظة الدافع للرسوم بتكلفة شبه معدومة للمهاجم، مما يمنع في النهاية الخادم من رعاية (sponsor) الغاز لطلبات الدفع الشرعية.
مسار `wait_for_confirmation = false` (التفاؤلي/optimistic) متأثر أيضاً: فهو يستدعي `simulate_payment_call` عبر `eth_call`، لكن هذه المحاكاة تتجاهل معلمة الغاز وبالتالي لا تكشف عن حالات نفاد الغاز.
هذه المشكلة تؤثر على الإصدارات من mpp 0.2.0 قبل 0.6.0.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.