CVE-2026-71255 in nanoMODBUS
الملخص
بحسب VulDB • 05/08/2026
يحتوي nanoMODBUS حتى الإصدار v1.23.0 على خطأ في الكتابة خارج الحدود (out-of-bounds write) داخل دالة `recv_read_device_identification_res()` الخاصة بعميل Modbus (FC 0x2B/MEI 0x0E، قراءة تعريف الجهاز) الموجودة في الملف nanomodbus.c. يتم التحقق من صحة حقل `object_length` الذي يزوده الخادم (القيم بين 0 و246) فقط مقابل حجم PDU المتبقي (`res_size_left`)، ولا تتم مطلقاً مقارنته بمعامل `buffers_length` المقدم من قبل الدالة المستدعية. بعد نسخ البيانات باستخدام `strncpy(buffers_out[buf_index], str, buffers_length)`، يكتب الكود بشكل غير مشروط بايت إنهاء NULL (NUL terminator) عند الموقع `buffers_out[buf_index][object_length]`. عندما يرسل خادم Modbus خبيث أو مُخترق استجابة تحتوي على قيمة `object_length` أكبر من أو تساوي `buffers_length` الخاص بالعميل، فإن عملية الكتابة هذه تقع خارج نهاية المخزن المؤقت (buffer) المقدم من قبل المستدعي، مما يؤدي إلى تلف الذاكرة المجاورة في المكدس (stack) أو الكومة (heap) لدى العميل.
If you want to get best quality of vulnerability data, you may have to visit VulDB.