Vulnerabilità: CVE-2020-12887

Le perdite di memoria sono stati scoperti nella biblioteca coap in braccio mbed OS 5.15.3 quando si utilizza il braccio mbed-coap biblioteca 5.1.5. Il parser COAP è responsabile per l’analisi dei pacchetti COAP ricevuti. La sn_coap_parser_options_parse funzione () analizza il numero di opzione coap campo di tutte le opzioni presenti nel pacchetto di ingresso. Ogni numero opzione viene calcolato come somma del numero di opzione precedente e un delta dell’opzione corrente. Il delta e il numero di opzione precedente sono espressi come unsigned interi a 16 bit. A causa della mancanza di rilevamento di overflow, è possibile predisporre un pacchetto che avvolge il numero di opzione intorno e risultati della stessa numero di opzione per essere eseguita nuovamente in un singolo pacchetto. Alcune opzioni allocano memoria chiamando una funzione di allocazione di memoria. Nei casi di COAP_OPTION_URI_QUERY, COAP_OPTION_URI_PATH, COAP_OPTION_LOCATION_QUERY, e COAP_OPTION_ETAG, non v’è alcun controllo sul fatto memoria è già stata assegnata, che insieme con il numero di opzione di overflow integer può portare a più assegnazioni di memoria assegnata ad un unico puntatore. Ciò è stato dimostrato per portare a perdita di memoria tampone orphaning. Di conseguenza, la memoria non è mai liberata.


https://github.com/ARMmbed/mbed-coap/pull/116
https://github.com/ARMmbed/mbed-os/issues/12930
https://github.com/ARMmbed/mbed-os/issues/12957
https://github.com/mjurczak/mbed-coap/commit/4647a68e364401e81dbd370728127d844f221d93
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-12887


E' possibile lasciare un commento come utenti registrati al sito, accedendo tramite social, account wordpress oppure come utenti anonimi. Nel caso in cui si desideri lasciare un commento come utenti anonimi si verrà avvisati via email di un'eventuale risposta solo se si inserisce l'indirizzo email (facoltativo). L'inserimento di qualsiasi dato nei campi dei commenti è totalmente facoltativo. Chiunque decida di inserire un qualsiasi dato accetta il trattamento di questi ultimi per i fini inerenti al servizio ovvero la risposta al commento e le comunicazioni strettamente necessarie.


Rispondi