Sei vulnerabilità di U-Boot possono consentire l'esecuzione di codice prima dell'avvio sui dispositivi integrati
I ricercatori di sicurezza hanno divulgato sei vulnerabilità in U-Boot, il bootloader open source ampiamente utilizzato nei sistemi Linux integrati, nei controller di gestione dei server aziendali, ne...
I ricercatori di sicurezza hanno divulgato sei vulnerabilità in U-Boot, il bootloader open source ampiamente utilizzato nei sistemi Linux integrati, nei controller di gestione dei server aziendali, nelle apparecchiature di rete, nelle apparecchiature industriali e nei dispositivi dell'Internet delle cose. Le vulnerabilità riguardano la logica di verifica delle firme FIT di U-Boot e potrebbero consentire a un attaccante di provocare arresti anomali o, in alcuni casi, eseguire codice prima che inizi il caricamento del sistema operativo.
Poiché U-Boot opera nelle fasi iniziali del processo di avvio, le debolezze nelle sue routine di convalida possono avere conseguenze gravi. Se un attaccante riesce a manomettere la sequenza di avvio, potrebbe essere in grado di eludere i controlli di sicurezza, alterare il comportamento del firmware o installare malware persistente difficile da rilevare una volta che il sistema è in esecuzione.
Cosa possono fare le vulnerabilità
Binarly, che ha segnalato i problemi, ha dichiarato che le vulnerabilità variano in gravità da condizioni di denial of service all'esecuzione arbitraria di codice durante la verifica del firmware. Quattro vulnerabilità possono causare l'arresto anomalo dei dispositivi interessati, mentre due potrebbero consentire l'esecuzione di codice dannoso mentre U-Boot controlla un'immagine non attendibile.
- Una vulnerabilità può causare l'arresto anomalo di U-Boot e, in determinate condizioni, consentire l'esecuzione di codice.
- Una vulnerabilità di corruzione della memoria potrebbe essere sfruttata per eseguire codice arbitrario.
- Una lettura oltre i limiti può causare l'arresto anomalo del bootloader.
- Anche il dereferenziamento di un puntatore nullo può provocare l'arresto del dispositivo.
- La convalida non corretta dei dati archiviati esternamente può provocare un arresto anomalo.
- Un problema di ricorsione senza limiti può esaurire la memoria dello stack e interrompere il processo di avvio.
Binarly ha dichiarato che gran parte del codice vulnerabile è presente sin da U-Boot 2013.07, il che significa che il problema potrebbe riguardare più di 50 release stabili e numerosi fork dei vari produttori.
Stato delle patch e livello di esposizione
La società ha segnalato le vulnerabilità ai manutentori di U-Boot e ha inviato le correzioni, che sono state ora integrate nel progetto upstream. Tuttavia, l'impatto per i clienti dipenderà dal fatto che i produttori dell'hardware integrino tali modifiche nelle proprie build del firmware e rilascino aggiornamenti.
Ciò lascia particolarmente esposti i prodotti più vecchi e non supportati, soprattutto i dispositivi che non ricevono più manutenzione del firmware. Sui sistemi dotati di funzionalità di gestione remota, come i controller di gestione della scheda madre, un attaccante che abbia già ottenuto l'accesso all'interfaccia di gestione potrebbe essere in grado di inviare un'immagine firmware appositamente predisposta senza dover accedere fisicamente al dispositivo.
