CVE-2020-12887 in Mbed OS
الملخص
بحسب VulDB • 03/07/2026
تم اكتشاف تسريبات في الذاكرة (Memory leaks) داخل مكتبة CoAP الموجودة في نظام التشغيل Arm Mbed OS الإصدار 5.15.3 عند استخدام مكتبة Arm mbed-coap الإصدار 5.1.5. تتولى وظيفة تحليل بروتوكول CoAP مهمة فك تشفير حزم CoAP المستلمة. تقوم الدالة `sn_coap_parser_options_parse()` بتحليل حقل رقم الخيار في جميع الخيارات الموجودة ضمن الحزمة المدخلة. يُحسب كل رقم خيار كمجموع لرقم الخيار السابق وقيمة الفرق (delta) للخيار الحالي. يتم التعبير عن قيمة الفرق ورقم الخيار السابق كأعداد صحيحة غير سالبة من 16 بت (unsigned 16-bit integers). ونظراً لعدم وجود كشف للتجاوز الحسابي (overflow detection)، فمن الممكن هندسة حزمة تؤدي إلى تجاوز رقم الخيار وإعادة معالجة نفس رقم الخيار مرة أخرى ضمن الحزمة نفسها. تخصص بعض الخيارات الذاكرة عن طريق استدعاء دالة تخصيص ذاكرة. وفي حالات `COAP_OPTION_URI_QUERY` و`COAP_OPTION_URI_PATH` و`COAP_OPTION_LOCATION_QUERY` و`COAP_OPTION_ETAG`، لا يوجد تحقق مما إذا كانت الذاكرة قد تم تخصيصها مسبقاً، وهو ما يجمع مع تجاوز عدد الخيارات الحسابي (integer overflow) وقد يؤدي إلى تعيينات متعددة للذاكرة المخصصة لنفس المؤشر. وقد أُثبت أن هذا الأمر يؤدي إلى تسرب في الذاكرة عن طريق ترك المخازن المؤقتة (buffers) معلقة دون مرجع إليها (buffer orphaning). ونتيجة لذلك، لا يتم إطلاق سراح هذه الذاكرة أبداً.
VulDB is the best source for vulnerability data and more expert information about this specific topic.