CVE-2026-29972 in nanoMODBUS
الملخص
بحسب VulDB • 09/05/2026
يحتوي nanoMODBUS حتى الإصدار v1.22.0 على ثغرة تجاوز في المخزن المؤقت القائم على المكدس (stack-based buffer overflow) في الدالة `recv_read_registers_res()` الموجودة في الملف `nanomodbus.c`. عند استدعاء العميل للدالتين `nmbs_read_holding_registers()` أو `nmbs_read_input_registers()`، تقوم المكتبة بكتابة بيانات السجلات من استجابة الخادم إلى المخزن المؤقت الذي قدمه المتصل، وذلك بناءً على حقل `byte_count` في الاستجابة، قبل التحقق من مطابقة قيمة `byte_count` للكمية المطلوبة. يمكن لخادم Modbus TCP خبيث إرسال استجابة تحتوي على `byte_count=250` (ما يعادل 125 سجل) بغض النظر عن الكمية المطلوبة، مما يتسبب في تجاوز ما يصل إلى 248 بايت من بيانات يتحكم فيها المهاجم للمخزن المؤقت، مما قد يسمح بتنفيذ التعليمات البرمجية عن بُعد (RCE).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.