Compania Eclypsium două vulnerabilități în firmware-urile controlerului BMC livrat în serverele Lenovo ThinkServer, care permit unui utilizator local să înlocuiască firmware-ul sau să execute cod arbitrar pe cipul BMC.
O analiză suplimentară a arătat că aceste probleme afectează și firmware-urile controlerelor BMC utilizate pe platformele server Gigabyte Enterprise Servers, care sunt de asemenea folosite în serverele unor companii precum Acer, AMAX, Bigtera, Ciara, Penguin Computing și sysGen. În controlerele BMC problematice au fost utilizate firmware-uri vulnerabile MergePoint EMS, dezvoltate de furnizorul terț Avocent (în prezent o subsidiară a companiei Vertiv).
Prima vulnerabilitate este cauzată de lipsa unei verificări criptografice a actualizărilor de firmware încărcate (fiind utilizată doar verificarea checksum-ului CRC32, contrar NIST de a folosi semnături digitale), permițând unui atacator cu acces local la sistem să înlocuiască firmware-ul BMC. Problema, de exemplu, poate fi utilizată pentru o integrare profundă a unui rootkit, care rămâne activ după reinstalarea sistemului de operare și blochează actualizările de firmware ulterioare (pentru a elimina rootkitul este necesară utilizarea unui programator pentru a rescrie flash-ul SPI).
A doua vulnerabilitate este prezentă în codul de actualizare a firmware-ului și permite substituirea comenzilor proprii, care vor fi executate în BMC cu cel mai înalt nivel de privilegii. Pentru atac, este suficient să modificați valoarea parametrului RemoteFirmwareImageFilePath în fișierul de configurare bmcfwu.cfg, prin care se definește calea către imaginea firmware-ului actualizabil. În timpul următoarei actualizări, care poate fi inițiată printr-o comandă în IPMI, acest parametru va fi procesat de BMC și utilizat în cadrul apelului popen() ca parte a șirului pentru /bin/sh. Deoarece șirul pentru formarea comenzii shell este creat folosind apelul snprintf() fără o curățare adecvată a caracterelor speciale, atacatorii pot insera propriul cod pentru a fi executat. Pentru exploatarea vulnerabilității este necesare drepturi care permit trimiterea unei comenzi către controlerul BMC prin IPMI (dacă există drepturi de administrator pe server, se poate trimite o comandă IPMI fără autentificare suplimentară).
Companiile Gigabyte și Lenovo au fost informate despre probleme încă din iulie 2018 și au reușit să emită actualizări înainte de dezvăluirea publică a informațiilor. Compania Lenovo a lansat actualizări ale firmware-ului pe 15 noiembrie 2018 pentru serverele ThinkServer RD340, TD340, RD440, RD540 și RD640, dar a remediat doar vulnerabilitatea care permitea injectarea de comenzi, deoarece în timpul creării liniei de servere bazate pe MergePoint EMS în 2014, verificarea firmware-ului prin semnătură digitală nu era încă larg răspândită și nu a fost declarată inițial.
Pe 8 mai anul acesta, compania Gigabyte a lansat actualizări ale firmware-ului pentru plăcile de bază cu controler ASPEED AST2500, dar ca și Lenovo a remediat doar vulnerabilitatea legată de injectarea de comenzi. Plăcile vulnerabile bazate pe ASPEED AST2400 rămân încă fără actualizare. Gigabyte de asemenea a trecut la utilizarea firmware-urilor MegaRAC SP-X de la compania AMI. De asemenea, noile firmware-uri bazate pe MegaRAC SP-X vor fi oferite pentru sistemele care au fost anterior livrate cu firmware-uri MergePoint EMS. Decizia a fost luată după anunțul Vertiv privind încheierea suportului pentru platforma MergePoint EMS. Totodată, nu s-au făcut anunțuri privind actualizarea firmware-urilor pe serverele produse de companiile Acer, AMAX, Bigtera, Ciara, Penguin Computing și sysGen bazate pe plăcile Gigabyte și echipate cu firmware-uri vulnerabile MergePoint EMS.
Reamintim că BMC reprezintă un controler specializat instalat în servere, având propriul CPU, memorie, stocare și interfețe pentru interogarea senzorilor, care oferă o interfață de nivel inferior pentru monitorizarea și gestionarea echipamentului serverului. Cu ajutorul BMC-ului, indiferent de sistemul de operare care rulează pe server, se poate monitoriza starea senzorilor, gestiona energia, firmware-urile și discurile, organiza o încărcare de la distanță prin rețea, asigura funcționarea consolei de acces la distanță etc.
Sursa: opennet.ro
