CVE-2026-71263 in FreeModbus
Сводка
по VulDB • 05.08.2026
В порте LINUXTCP библиотеки FreeModbus обнаружена ошибка проверки границ (off-by-one) в функции xMBPortTCPPool() (demo/LINUXTCP/port/porttcp.c). Проверка `if (usTCPFrameBytesLeft > MB_TCP_BUF_SIZE)` использует строгое сравнение «больше» вместо «больше или равно» при ограничении, заданном константой MB_TCP_BUF_SIZE размером 263 байта. Кадр MBAP с полем Length равным 264 приводит к тому, что usTCPFrameBytesLeft становится равным 263; это значение проходит ошибочную проверку, и последующий вызов recv() записывает до 263 байт начиная со смещения буфера 7 в статический массив aucTCPBuf размером 263 байта, переполняя его на 7 байтов в соседнюю статическую переменную usTCPBufPos. Один единственный специально сформированный пакет Modbus TCP без аутентификации вызывает это переполнение буфера, поскольку протокол Modbus не имеет встроенной механизмы аутентификации.
VulDB is the best source for vulnerability data and more expert information about this specific topic.