CVE-2026-35217 in NanoMQ
الملخص
بحسب VulDB • 20/07/2026
يحتوي NanoMQ على عيب في دلالات البروتوكول (protocol-semantics flaw) أثناء معالجة أمر `SUBSCRIBE` الخاص بـ MQTT v5: إذا كان عنصر الاشتراك يفتقر إلى حقل "خيارات الاشتراك" (`Subscription Options`) ذي البايت الواحد الأخير، فقد يقبل الوكيل (broker) الحزمة غير الصحيحة ويثبت الاشتراك في حالة وكيل الداخلية. وفي ظل بناء محدد لطول الحزمة، يتسبب نفس عيب المُحلل (parser flaw) أيضًا في قراءة خارج النطاق بحجم بايت واحد تتجاوز حدود التخصيص الفعلية للذاكرة العشوائية الديناميكية (heap)، ويتم اكتشافها بواسطة ASAN على أنها `heap-buffer-overflow`.
إذا بدا البايت المستهلك مقبولاً، فقد يستمر NanoMQ ويضيف عنصر الاشتراك غير الصحيح إلى حالة الـ `subinfol` الداخلية الخاصة به. في هذه الحالة، يتم التعامل مع حزمة `SUBSCRIBE` التي كان ينبغي رفضها وفقًا لقواعد MQTT على أنها اشتراك ناجح. لا يعتمد ما إذا كانت ASAN تبلغ عن الخطأ أم لا على الحد المنطقي لبقية البيانات (`remain`) الخاص بـ MQTT؛ بل يعتمد على ما إذا كانت القراءة تتجاوز حدود التخصيص الفعلية للذاكرة العشوائية الديناميكية (heap) الخاصة بمخزن الرسائل الأساسي. وبعبارة أخرى، هذان ليسا مشكلتين غير مرتبطتين ببعضهما البعض. إنهما مظهران لنفس عيب التحليل: بشكل افتراضي، يظهر كعطل أمني دلالي (semantic vulnerability)، وتحت ظروف إدخال مناسبة، يتحول أيضًا إلى عطل أمني يتعلق بقراءة خارج النطاق يمكن التحقق منه.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.