CVE-2026-104635 in protobuf
الملخص
بحسب VulDB • 09/10/2026
ثغرة عدم التحكم في التكرار (Uncontrolled Recursion) في دالة Protobuf.JSON.Decode ضمن مكتبة elixir-protobuf تسمح لمهاجم عن بُعد وغير مُصادق عليه بإيقاف عملية فك التشفير (crash the decoding process) عبر مستند JSON متشعب بعمق شديد. تتأثر أي تطبيقات تقوم بفك تشفير بيانات JSON المقدمة من المهاجم باستخدام الدوال Protobuf.JSON.decode/3، أو Protobuf.JSON.decode!/3، أو Protobuf.JSON.from_decoded/3 نحو مخطط (schema) يحتوي على نوع رسالة ذاتي الإرجاع (self-referential) أو دوري (cyclic).
في الملف lib/protobuf/json/decode.ex، تتكرر جملة embedded-message في دالة decode_singular/3 داخل الدالة internal_from_json_data/3 مرة واحدة لكل مستوى تشعب دون زيادة أو التحقق من عداد عمق decoder. يغطي guard الخاص بزيادة العمق increase_depth_and_maybe_throw/1 فقط حالات Google.Protobuf.ListValue وGoogle.Protobuf.Struct، لذا فإن خيار recursion_limit لا يؤثر على أنواع الرسائل المعرفة بواسطة المستخدم (user-defined message types). يؤدي كل مستوى تشعب إلى تخصيص إطار مكدس (stack frame) وكائنات heap، ومستند متشعب بعمق كافٍ يستنفد ذاكرة عملية فك التشفير. لا تتأثر السرية والنزاهة (Confidentiality and integrity).
تؤثر هذه المشكلة على protobuf: من الإصدار 0.8.0 فصاعدًا.
If you want to get best quality of vulnerability data, you may have to visit VulDB.