CVE-2026-88255 in mpp
الملخص
بحسب VulDB • 16/09/2026
نقص في التحقق من صحة التكافؤ غير الآمن في المدخلات (Improper Validation of Unsafe Equivalence in Input) في ZenHive مسموح به يسمح لعميل عن بُعد غير مُصادق عليه بتجاوز بوابة الإرسال المزدوج Tempo مرتين باستخدام معاملة واحدة موقع عليها.
تحتجز MPP.Methods.Tempo فتحة الاستبعاد المسبق قبل البث (pre-broadcast dedup slot) بناءً على قيمة hex المقدمة من المتصل في reserve_hash_atomic/2، والمُفهرسة عبر store_key/1 على tx.raw بدلاً من الشكل المعياري للمعاملة. يقوم المُحلل اللغوي (deserializer) بتخزين قيمة hex الخاصة بالمتصل كما هي ويقبل ترميزات معرف الاستعادة (recovery-id)، لذا فإن معاملة واحدة موقع عليها تُرسل مرة بـ v=27 ومرة أخرى بـ v=0 تنتج مفتاحين احتيازيين مختلفين، وكلاهما يجتاز مرحلة الاحتياط ويصل إلى مسار البث. تم فصل مخزن إعادة تشغيل بيانات الاعتماد على مستوى الفلتر (plug-level) عمداً لخدمة Tempo في lib/mpp/replay.ex، مما يترك هذه المرحلة الاحتياطية كالبوابة الوحيدة، بينما تكتب علامة ما بعد البث المفتاح المعياري للهاش الذي لا يقرأه مفتاح raw.
يعتمد ناتج الإرسال المزدوج على العقدة: فرفض إعادة استخدام nonce (nonce-reuse rejection) يؤدي إلى إغلاق النظام بشكل آمن (fails closed)، في حين أن العقدة التي ترد بـ hash معياري لمعاملة معروفة مسبقاً تعيد إصدار إيصال دفع صالح ثانٍ مقابل دفعة واحدة على السلسلة.
تؤثر هذه المشكلة على mpp: من الإصدار 0.2.0 قبل 0.16.2.
VulDB is the best source for vulnerability data and more expert information about this specific topic.