ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
تطبيق Aedes هو وسيط MQTT يمكن تشغيله على أي خادم دفق. قبل الإصدار 1.1.1، لا يقوم وسيط MQTT بتقييد عمق المواضيع أو تعقيدها الهيكلي قبل تمرير المواضيع عبر `mqemitter` إلى `qlobber`. يمكن لرسالة `PUBLISH` أو `SUBSCRIBE` أو رسالة `Will` مسجلة تحتوي على موضوع عميق للغاية الوصول إلى `qlobber._split_words` في الملف `lib/qlobber.js` وتفعيل استثناء غير مُلتقط من نوع `too many words`. الاتصالات الواردة من `handlers/subscribe.js` ومنطق النشر غير محمية ضد هذا الاستثناء، مما يجعله يتسرب إلى `Node.js event loop` وينهي الوسيط بأكمله. يمكن الوصول إلى مسار `Will` بشكل مستقل عندما ينقطع اتصال العميل بشكل غير سليم: فهو يستدعي `broker.publish` مباشرة ويتجاوز معالج `PUBLISH`. يجب أن يكون المهاجم قادرًا على إنشاء جلسة `MQTT`، سواء كانت مصادق عليها أو بدون مصادقة وفقًا لتكوين الوسيط. يؤدي الهجوم الناجح إلى قطع الاتصال بجميع العملاء الشرعيين ومنع إعادة الاتصال حتى يتم إعادة تشغيل عملية الوسيط. تم إصلاح هذه المشكلة في الإصدار 1.1.1.