Vulnerabilità nel firmware del controller BMC che colpisce i server di molti produttori

Compagnia Eclypsium rivelato due vulnerabilità nel firmware del controller BMC fornito nei server Lenovo ThinkServer, che consentono a un utente locale di modificare il firmware o eseguire codice arbitrario sul lato chip BMC.

Ulteriori analisi hanno dimostrato che questi problemi riguardano anche il firmware dei controller BMC utilizzati nelle piattaforme server Gigabyte Enterprise Servers, che vengono utilizzate anche nei server di aziende come Acer, AMAX, Bigtera, Ciara, Penguin Computing e sysGen. I controller BMC problematici utilizzavano il firmware MergePoint EMS vulnerabile sviluppato dal fornitore di terze parti Avocent (ora una divisione di Vertiv).

La prima vulnerabilità è causata dalla mancanza di verifica crittografica degli aggiornamenti firmware scaricati (viene utilizzata solo la verifica del checksum CRC32, al contrario raccomandazioni Il NIST utilizza le firme digitali), che consente a un utente malintenzionato con accesso locale al sistema di falsificare il firmware BMC. Il problema, ad esempio, può essere sfruttato per integrare profondamente un rootkit che rimane attivo dopo aver reinstallato il sistema operativo e blocca ulteriori aggiornamenti del firmware (per eliminare il rootkit sarà necessario utilizzare un programmatore per riscrivere la flash SPI).

La seconda vulnerabilità è presente nel codice di aggiornamento del firmware e consente di sostituire i propri comandi, che verranno eseguiti nel BMC con il massimo livello di privilegi. Per attaccare è sufficiente modificare il valore del parametro RemoteFirmwareImageFilePath nel file di configurazione bmcfwu.cfg, attraverso il quale viene determinato il percorso dell'immagine del firmware aggiornato. Durante il prossimo aggiornamento, che può essere avviato da un comando in IPMI, questo parametro verrà elaborato dal BMC e utilizzato come parte della chiamata popen() come parte della riga per /bin/sh. Poiché la riga per generare il comando shell viene creata utilizzando la chiamata snprintf() senza un'adeguata pulizia dei caratteri speciali, gli aggressori possono sostituire il proprio codice per l'esecuzione. Per sfruttare la vulnerabilità, è necessario disporre dei diritti che consentono di inviare un comando al controller BMC tramite IPMI (se si dispone dei diritti di amministratore sul server, è possibile inviare un comando IPMI senza ulteriore autenticazione).

Gigabyte e Lenovo sono stati informati dei problemi nel luglio 2018 e sono riusciti a rilasciare gli aggiornamenti prima che le informazioni fossero rese pubbliche. Azienda Lenovo rilasciato aggiornamenti del firmware il 15 novembre 2018 per i server ThinkServer RD340, TD340, RD440, RD540 e RD640, ma hanno eliminato solo una vulnerabilità che consente la sostituzione dei comandi, poiché durante la creazione di una linea di server basata su MergePoint EMS nel 2014, il firmware la verifica effettuata mediante firma digitale non era ancora diffusa e non era stata inizialmente annunciata.

L'8 maggio di quest'anno, Gigabyte ha rilasciato aggiornamenti firmware per schede madri con controller ASPEED AST2500, ma come Lenovo, ha risolto solo la vulnerabilità della sostituzione dei comandi. Le schede vulnerabili basate su ASPEED AST2400 per ora rimangono senza aggiornamenti. Anche Gigabyte suddetto sulla transizione all'utilizzo del firmware MegaRAC SP-X di AMI. Verrà offerto un nuovo firmware basato su MegaRAC SP-X per i sistemi precedentemente forniti con firmware MergePoint EMS. La decisione fa seguito all'annuncio di Vertiv che non supporterà più la piattaforma MergePoint EMS. Allo stesso tempo, non è stato ancora riportato nulla sugli aggiornamenti del firmware sui server prodotti da Acer, AMAX, Bigtera, Ciara, Penguin Computing e sysGen basati su schede Gigabyte e dotati del vulnerabile firmware MergePoint EMS.

Ricordiamo che BMC è un controller specializzato installato nei server, che dispone di proprie interfacce CPU, memoria, archiviazione e polling dei sensori, che fornisce un'interfaccia di basso livello per il monitoraggio e la gestione delle apparecchiature del server. Utilizzando BMC, indipendentemente dal sistema operativo in esecuzione sul server, è possibile monitorare lo stato dei sensori, gestire alimentazione, firmware e dischi, organizzare l'avvio remoto sulla rete, garantire il funzionamento di una console di accesso remoto, ecc.

Fonte: opennet.ru

Aggiungi un commento