Vulnerabilità in Buildroot che consentono tramite un attacco MITM di eseguire codice sul server di build

Nel sistema di build Buildroot, progettato per generare ambienti Linux avviabili per sistemi embedded, sono state individuate sei vulnerabilità che consentono, durante l'intercettazione del traffico di transito (MITM), di apportare modifiche alle immagini di sistema generate o di eseguire codice a livello di sistema di build. Le vulnerabilità sono state risolte nelle versioni Buildroot 2023.02.8, 2023.08.4 e 2023.11.

Le prime cinque vulnerabilità (CVE-2023-45841, CVE-2023-45842, CVE-2023-45838, CVE-2023-45839, CVE-2023-45840) riguardano il codice di verifica dell'integrità dei pacchetti tramite hash. I problemi derivano dalla possibilità di utilizzare HTTP per scaricare file e dalla mancanza di file hash di verifica per alcuni pacchetti, consentendo di sostituire il contenuto di questi pacchetti intervenendo nel traffico della build. server (ad esempio, quando l'utente è connesso a una rete wireless controllata dall'attaccante).

In particolare, i pacchetti aufs e aufs-util venivano caricati tramite HTTP e non erano soggetti a verifica degli hash. Anche gli hash mancavano per i pacchetti riscv64-elf-toolchain, versal-firmware e mxsldr, che di default venivano caricati tramite HTTPS, ma in caso di problemi tornavano al download non crittografato dal host http://sources.buildroot.net. In assenza dei file «.hash», lo strumento Buildroot considerava la verifica avvenuta con successo e gestiva i pacchetti scaricati, applicando anche le patch incluse nei pacchetti e avviando gli script di build. Avendo la possibilità di sostituire i pacchetti scaricati, l'attaccante poteva aggiungere le proprie patch o file di build Makefiles, consentendo di modificare l'immagine risultante o gli script del sistema di build ed eseguire il proprio codice.

La sesta vulnerabilità (CVE-2023-43608) è causata da un errore nell'implementazione della funzionalità BR_NO_CHECK_HASH_FOR, che consente di disattivare la verifica dell'integrità tramite hash per pacchetti selezionati. Alcuni pacchetti, come il kernel Linux, U-Boot e versal-firmware, consentivano il download delle ultime versioni per le quali non erano ancora stati generati hash di verifica. Per queste versioni veniva utilizzata l'opzione BR_NO_CHECK_HASH_FOR, disattivando la verifica tramite hash. I dati venivano scaricati tramite HTTPS, ma per impostazione predefinita, in caso di errore nel download, si tornava a contattare source.buildroot.net senza crittografia tramite il protocollo http://. Durante un attacco MITM, l'attaccante poteva bloccare la connessione al server HTTPS e quindi il download tornava su http://sources.buildroot.net.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster