Zraniteľnosť firmvéru AMI MegaRAC spôsobená dodaním starej verzie lighttpd

Vo firmvéri MegaRAC od spoločnosti American Megatrends (AMI), ktorý sa používa v radičoch BMC (Baseboard Management Controller), používaných výrobcami serverov na organizáciu správy autonómnych zariadení, čo umožňuje neoverenému útočníkovi vzdialene čítať obsah pamäte, bola identifikovaná zraniteľnosť. proces, ktorý zabezpečuje fungovanie webového rozhrania. Chyba zabezpečenia sa objavuje vo firmvéri vydanom od roku 2019 a je spôsobená dodaním starej verzie servera Lighttpd HTTP, ktorá obsahuje neopravenú chybu zabezpečenia.

V kódovej základni Lighttpd bola táto chyba zabezpečenia opravená v roku 2018 vo verzii 1.4.51, ale oprava bola vykonaná bez priradenia identifikátora CVE a bez zverejnenia správy popisujúcej povahu zraniteľnosti. Poznámka k vydaniu spomenula opravy zabezpečenia, ale zamerala sa na zraniteľnosť v mod_userdir zahŕňajúcu použitie znakov ".." a "." v používateľskom mene.

V zozname zmien sa spomínal aj problém so spracovaním HTTP hlavičiek, no túto opravu vývojári firmvéru prehliadli a do produktu ju nepreniesli, keďže poznámka o potenciálnej eliminácii zraniteľnosti triedy use-after-free bola prítomná až v text potvrdenia a vo všeobecnom zozname neboli vykonané žiadne zmeny, ktoré by naznačovali, že chyba má za následok prístup do pamäte po uvoľnení.

Zraniteľnosť umožňuje čítanie obsahu pamäte mimo pridelenej vyrovnávacej pamäte. Problém je spôsobený chybou v kóde zlučovania hlavičiek HTTP, ktorý sa používa pri zadávaní viacerých inštancií hlavičky HTTP „If-Modified-Since“. Pri spracovaní druhej inštancie hlavičky pridelil lighttpd novú vyrovnávaciu pamäť na uloženie zlúčenej hodnoty a uvoľnil pamäť pre vyrovnávaciu pamäť, ktorá obsahovala hodnotu z prvej hlavičky. V tomto prípade sa ukazovateľ con->request.http_if_modified_since nezmenil a naďalej ukazoval na už uvoľnenú oblasť pamäte.

Keďže tento ukazovateľ sa používal pri operáciách porovnávajúcich obsah hlavičky If-Modified-Since, výsledkom čoho bolo vygenerovanie rôznych návratových kódov, útočník mohol hrubou silou uhádnuť nový obsah pamäte, ktorá bola predtým obsadené prvým nárazníkom. Problém by sa dal použiť v kombinácii s inými zraniteľnosťami, napríklad na určenie rozloženia pamäte na obídenie bezpečnostných mechanizmov, ako je ASLR (Address Space Randomization).

Prítomnosť zraniteľnosti bola potvrdená v serverových platformách Lenovo a Intel, ale tieto spoločnosti neplánujú vydať aktualizácie firmvéru z dôvodu uplynutia doby podpory pre produkty používajúce tieto firmvéry a nízkej úrovne závažnosti zraniteľnosti. Problém sa prejavuje vo firmvéri pre platformy Intel M70KLP a Lenovo HX3710, HX3710-F a HX2710-E (zraniteľnosť je prítomná okrem iného v najnovších verziách firmvéru Lenovo 2.88.58 a Intel 01.04.0030). Okrem toho sa uvádza, že zraniteľnosť v lighttpd sa objavuje aj vo firmvéri pre zariadenia Supermicro a v serveroch, ktoré používajú radiče BMC od Duluth a AETN.

Zdroj: opennet.ru

Pridať komentár