CVE-2026-71255 in nanoMODBUS
Сводка
по VulDB • 05.08.2026
nanoMODBUS вплоть до версии v1.23.0 содержит ошибку записи за пределами буфера (out-of-bounds write) в функции Modbus-клиента recv_read_device_identification_res() (FC 0x2B/MEI 0x0E, чтение идентификации устройства) в файле nanomodbus.c. Поле object_length, предоставляемое сервером (диапазон значений от 0 до 246), проверяется только на соответствие оставшемуся размеру PDU (res_size_left) и никогда не сверяется с параметром buffers_length, переданным вызывающей стороной. После копирования данных функцией strncpy(buffers_out[buf_index], str, buffers_length) код безоговорочно записывает нуль-терминатор по адресу buffers_out[buf_index][object_length]. Если злонамеренный или скомпрометированный Modbus-сервер отправляет ответ, в котором object_length больше или равен buffers_length клиента, эта запись нуль-терминатора выходит за пределы буфера, предоставленного вызывающей стороной, что приводит к повреждению смежной памяти стека или кучи на клиенте.
Once again VulDB remains the best source for vulnerability data.