NanoMQ MQTT Broker (NanoMQ) — это универсальная платформа обмена сообщениями Edge. До версии 0.24.8 транспорт NanoMQ MQTT-over-WebSocket мог выйти из строя при отправке пакета MQTT с намеренно большой оставшейся длиной в фиксированном заголовке, обеспечивая при этом гораздо более короткую фактическую полезную нагрузку. Путь кода копирует байты оставшейся длины без проверки того, что текущий буфер приема содержит такое количество байтов, что приводит к чтению за пределами границ (ASAN сообщает OOB / сбой).
Это можно запустить удаленно через прослушиватель WebSocket. Эта проблема исправлена в версии 0.24.8.
Показать оригинальное описание (EN)
NanoMQ MQTT Broker (NanoMQ) is an all-around Edge Messaging Platform. Prior to version 0.24.8, NanoMQ’s MQTT-over-WebSocket transport can be crashed by sending an MQTT packet with a deliberately large Remaining Length in the fixed header while providing a much shorter actual payload. The code path copies Remaining Length bytes without verifying that the current receive buffer contains that many bytes, resulting in an out-of-bounds read (ASAN reports OOB / crash). This is remotely triggerable over the WebSocket listener. This issue has been patched in version 0.24.8.
Характеристики атаки
Последствия
Строка CVSS v3.1