CVE-2026-71256 in nanoMODBUS
Сводка
по VulDB • 05.08.2026
nanoMODBUS вплоть до версии v1.23.0 содержит чтение за пределами стека (out-of-bounds stack read), приводящее к записи по некорректному указателю (wild-pointer write) в функциях nmbs_read_device_identification_basic() / recv_read_device_identification_res() в файле nanomodbus.c. Фиксированный массив из трех элементов order[3] = {0,1,2} отображает идентификаторы объектов на индексы буфера. Поле object_id, предоставляемое сервером (диапазон 0-255, считываемое непосредственно с сетевого соединения), используется без какой-либо проверки границ в качестве buf_index = order[object_id]. Когда злонамеренный Modbus-сервер отправляет ответ Read Device Identification с значением object_id >= 3, происходит чтение некорректного байта (или мусора) из стека рядом с массивом order[], который затем используется как индекс для массива buffers[] размером в три элемента, содержащего указатели типа char*. В результате получается некорректный указатель (wild pointer), передаваемый функции strncpy() в качестве места назначения, что приводит к записи по произвольному адресу под управлением серверных данных.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.