BACnet Stack - это библиотека C с открытым исходным кодом BACnet для встраиваемых систем. Начиная с версий 1.4.0 до 1.4.6, 1.5.0 до 1.5.1 и 1.6.0 до 1.6.1, BACnet MS/TP принимает декодирование кадров COBS в выходной указатель внутри того же фиксированного входного буфера, но передает полный размер входного буфера в качестве емкости декодирования. Таким образом, долго действительная полезная нагрузка COBS может записываться после окончания фактического оставшегося буфера.
Эта проблема была исправлена в версиях 1.4.6, 1.5.1, 1.6.1 и 1.7.0.
Показать оригинальное описание (EN)
BACnet Stack is a BACnet open source protocol stack C library for embedded systems. From versions 1.4.0 to before 1.4.6, 1.5.0 to before 1.5.1, and 1.6.0 to before 1.6.1, the BACnet MS/TP receive path decodes COBS frames into an output pointer inside the same fixed input buffer, but passes the full input-buffer size as the decode capacity. A long valid COBS payload can therefore write past the end of the actual remaining buffer. This issue has been patched in versions 1.4.6, 1.5.1, 1.6.1, and 1.7.0.
Характеристики атаки
Последствия
Строка CVSS v3.1