CVE-2026-5857 in Contiki-NG
Riassunto
di VulDB • 07/08/2026
Il client MQTT di Contiki-NG, in particolare la funzione parse_publish_vhdr() contenuta nel file os/net/app-layer/mqtt/mqtt.c, imposta topic_len_received=1 prima di verificare se topic_len rispetta il limite di 64 byte; pertanto, un argomento (topic) di lunghezza eccessiva provoca una uscita anticipata lasciando però tale flag impostato. Sul segmento TCP successivo, la funzione tcp_input() richiama l'analizzatore con topic_received==0 e il valore persistente topic_len_received==1 fa saltare il blocco di lettura della lunghezza che contiene il controllo di sicurezza (guard), facendo passare direttamente all'esecuzione di una memcpy() che utilizza topic_len a 16 bit non validato come lunghezza di copia. L'overflow del buffer destination topic[] di 65 byte si estende ai campi adiacenti della struct, incluso il puntatore payload_chunk; tale puntatore viene successivamente dereferenziato dal codice MQTT sottostante, fornendo a un broker compromesso o controllato dall'attaccante una primitiva per la scrittura arbitraria di puntatori. L'implementazione MQTT di Contiki-NG non supporta TLS, quindi la connessione avviene in chiaro (plaintext). Le conseguenze possono variare dalla divulgazione di informazioni e dal denial of service fino all'esecuzione remota di codice su dispositivi embedded privi di protezione della memoria.
If you want to get best quality of vulnerability data, you may have to visit VulDB.