Ad

CVE-2026-71255

HIGH CVSS 3.1: 8,6 EPSS 0.22%
Обновлено 10 августа 2026
nanoMODBUS
Параметр Значение
CVSS 8,6 (HIGH)
Тип уязвимости CWE-787 (Запись за пределами буфера)
Поставщик nanoMODBUS
Публичный эксплойт Нет

nanoMODBUS до версии 1.23.0 содержит запись за пределами границ в функции 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) код безоговорочно записывает NUL-терминатор в buffers_out[buf_index][object_length].

Когда вредоносный или скомпрометированный сервер Modbus отправляет ответ с длиной объекта, превышающей или равной длине буфера клиента, эта запись NUL попадает за конец буфера, предоставленного вызывающей стороной, повреждая соседний стек или память кучи на клиенте.

Показать оригинальное описание (EN)

nanoMODBUS through v1.23.0 contains an out-of-bounds write in the Modbus client-side recv_read_device_identification_res function (FC 0x2B/MEI 0x0E, Read Device Identification) in nanomodbus.c. The server-supplied object_length field (0-246) is validated only against the remaining PDU size (res_size_left) and is never validated against the caller-supplied buffers_length parameter.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Низкое
Частичная утечка данных
Целостность
Низкое
Частичная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1