Vulnerabilitatea firmware-ului controlerului BMC care afectează serverele de la mulți producători

Compania Eclypsium dezvăluit două vulnerabilități în firmware-ul controlerului BMC furnizat în serverele Lenovo ThinkServer, permițând unui utilizator local să schimbe firmware-ul sau să execute cod arbitrar pe partea cipului BMC.

O analiză ulterioară a arătat că aceste probleme afectează și firmware-ul controlerelor BMC utilizate în platformele de servere Gigabyte Enterprise Servers, care sunt utilizate și în serverele de la companii precum Acer, AMAX, Bigtera, Ciara, Penguin Computing și sysGen. Controlerele BMC problematice au folosit firmware MergePoint EMS vulnerabil dezvoltat de furnizorul terț Avocent (acum o divizie a Vertiv).

Prima vulnerabilitate este cauzată de lipsa verificării criptografice a actualizărilor de firmware descărcate (se folosește doar verificarea sumei de control CRC32, contrar recomandări NIST utilizează semnături digitale), ceea ce permite unui atacator cu acces local la sistem să falsifice firmware-ul BMC. Problema, de exemplu, poate fi folosită pentru a integra profund un rootkit care rămâne activ după reinstalarea sistemului de operare și blochează actualizările de firmware ulterioare (pentru a elimina rootkit-ul, va trebui să utilizați un programator pentru a rescrie flash-ul SPI).

A doua vulnerabilitate este prezentă în codul de actualizare a firmware-ului și vă permite să înlocuiți propriile comenzi, care vor fi executate în BMC cu cel mai înalt nivel de privilegii. Pentru a ataca, este suficient să modificați valoarea parametrului RemoteFirmwareImageFilePath din fișierul de configurare bmcfwu.cfg, prin care se determină calea către imaginea firmware-ului actualizat. Î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 ca parte a apelului popen() ca parte a liniei pentru /bin/sh. Deoarece linia pentru generarea comenzii shell este creată folosind apelul snprintf() fără curățarea adecvată a caracterelor speciale, atacatorii își pot înlocui codul pentru execuție. Pentru a exploata vulnerabilitatea, trebuie să aveți drepturi care vă permit să trimiteți o comandă către controlerul BMC prin IPMI (dacă aveți drepturi de administrator pe server, puteți trimite o comandă IPMI fără autentificare suplimentară).

Gigabyte și Lenovo au fost notificați cu privire la probleme încă din iulie 2018 și au reușit să lanseze actualizări înainte ca informațiile să fie dezvăluite public. Compania Lenovo a lansat actualizări de firmware pe 15 noiembrie 2018 pentru serverele ThinkServer RD340, TD340, RD440, RD540 și RD640, dar a eliminat doar o vulnerabilitate din acestea care permite înlocuirea comenzilor, deoarece în timpul creării unei linii de servere bazate pe MergePoint EMS în 2014, firmware-ul verificarea a fost efectuată folosind o semnătură digitală nu era încă răspândită și nu a fost anunțată inițial.

Pe 8 mai a acestui an, Gigabyte a lansat actualizări de firmware pentru plăcile de bază cu controlerul ASPEED AST2500, dar, la fel ca Lenovo, a remediat doar vulnerabilitatea de înlocuire a comenzii. Plăcile vulnerabile bazate pe ASPEED AST2400 rămân fără actualizări pentru moment. De asemenea, Gigabyte a spus despre trecerea la utilizarea firmware-ului MegaRAC SP-X de la AMI. Inclusiv firmware nou bazat pe MegaRAC SP-X va fi oferit pentru sistemele livrate anterior cu firmware MergePoint EMS. Decizia vine după anunțul Vertiv că nu va mai susține platforma MergePoint EMS. În același timp, încă nu a fost raportat nimic despre actualizările de firmware pe serverele fabricate de Acer, AMAX, Bigtera, Ciara, Penguin Computing și sysGen bazate pe plăci Gigabyte și echipate cu firmware MergePoint EMS vulnerabil.

Să reamintim că BMC este un controler specializat instalat în servere, care are propriul CPU, memorie, stocare și interfețe de sondare a senzorilor, care oferă o interfață de nivel scăzut pentru monitorizarea și gestionarea echipamentelor serverului. Folosind BMC, indiferent de sistemul de operare care rulează pe server, puteți monitoriza starea senzorilor, puteți gestiona alimentarea, firmware-ul și discurile, organizați pornirea de la distanță prin rețea, asigurați funcționarea unei console de acces la distanță etc.

Sursa: opennet.ru

Adauga un comentariu