An issue was discovered in the MQTT server in Contiki-NG before 4.2. The function parse_publish_vhdr() that parses MQTT PUBLISH messages with a variable length header uses memcpy to input data into a fixed size buffer. The allocated buffer can fit only MQTT_MAX_TOPIC_LENGTH (default 64) bytes, and a length check is missing. This could lead to Remote Code Execution via a stack-smashing attack (overwriting the function return address). Contiki-NG does not separate the MQTT server from other servers and the OS modules, so access to all memory regions is possible.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HContiki Ng
APPContiki-Ng< 4.2
Related vulnerabilities
Contiki-Ng: nieprawidłowa losowość TCP ISN umożliwia ataki na sesje sieciowe
Off-by-one w bazie Antelope (Contiki-NG) — odczyt poza buforem
Out-of-bounds read w stosie SNMP systemu Contiki-NG
Buffer overflow w parsowaniu DNS w Contiki i Contiki-NG (NAT64)
Buffer overflow w obsłudze SNMP bulk get w Contiki-NG (RCE)