Buffer Overflow mette in pericolo le stampanti 3D

La ricerca di Cisco Talos fa emergere una vulnerabilità buffer overflow nel plug-in Chitubox Anycubic.

“La vulnerabilità CVE-2021-21948 è causata da un integer overflow, che scrive i dati in un buffer di dimensioni errate causando un heap overflow. Il punteggio CVSSv3 per la vulnerabilità è 7.8. Un attore malintenzionato potrebbe creare un file .gf appositamente predisposto per attivarsi. Tuttavia, affinché si verifichi lo sfruttamento, un utente dovrebbe interagire con il file dannoso”, afferma Martin Lee, outreach manager, EMEA presso Cisco Talos, a Information Security Media Group.

Talos incoraggia gli utenti ad aggiornare questi prodotti interessati il prima possibile: Anycubic Chitubox Anycubic Plug-in, versione 1.0.0 e Chitubox Basic, versione 1.8.1.

“Talos ha testato e confermato che questo software è affetto da questa vulnerabilità”, affermano i ricercatori.

Chitubox è un programma di slicing di terze parti per stampanti 3D basate su resina come SLA, DLP e LCD. CBD-Tech, un’azienda cinese, ha pubblicato la versione 1.0 nel 2017. La funzionalità readDatHeadVec di Anycubic Chitubox Anycubic Plug-in 1.0.0 è vulnerabile.

Secondo Cisco Talos, l’overflow è causato da un integer overflow, dall’utilizzo di registri a 32 bit anziché di registri espansi a 64 bit.

Una condizione di heap overflow è definita come un buffer overflow in cui il buffer può essere sovrascritto e allocato nella sezione heap della memoria, in base all’enumerazione dei punti deboli comuni, un elenco di categorie di vulnerabilità software e hardware sviluppato dalla comunità. Ciò indica che il buffer è stato allocato utilizzando una tecnica come malloc(), che assegna una certa quantità di memoria per la creazione di un array.

“L’istruzione imul troncherà il valore durante la moltiplicazione, perdendo i 32 bit più significativi. Questa dimensione calcolata viene utilizzata per allocare la dimensione corretta per il vettore di GfDatHead_t. Si verifica una moltiplicazione molto simile e utilizza un registro a 64 bit per la moltiplicazione, eliminando così la possibilità di un overflow, poiché entrambi i valori vengono caricati come valori a 32 bit. Questo nuovo valore calcolato viene utilizzato nel thread come lunghezza di dati da leggere nel buffer dimensionato utilizzando il valore calcolato, che è troppo piccolo, con conseguente overflow del buffer durante la lettura del contenuto del file nel buffer”, affermano i ricercatori.

Secondo Bud Broomhead, CEO e creatore di Viakoo, a causa dei rigorosi test richiesti per esaminare ogni potenziale combinazione hardware/software, software di terze parti come Chitubox, che funziona su molti dispositivi hardware, amplia notevolmente le possibilità che esistano vulnerabilità, compromettendo la supply chain.