Ranljivost vdelane programske opreme AMI MegaRAC, ki jo povzroča pošiljanje stare različice lighttpd

V vdelani programski opremi MegaRAC podjetja American Megatrends (AMI), ki se uporablja v krmilnikih BMC (Baseboard Management Controller), ki jih proizvajalci strežnikov uporabljajo za organizacijo avtonomnega upravljanja opreme, ki napadalcu brez pristnosti omogoča oddaljeno branje vsebine pomnilnika proces, ki zagotavlja delovanje spletnega vmesnika. Ranljivost se pojavlja v vdelani programski opremi, izdani od leta 2019, povzroči pa jo pošiljanje stare različice strežnika HTTP Lighttpd, ki vsebuje nepopravljeno ranljivost.

V kodni bazi Lighttpd je bila ta ranljivost odpravljena že leta 2018 v različici 1.4.51, vendar je bil popravek narejen brez dodelitve identifikatorja CVE in brez objave poročila, ki opisuje naravo ranljivosti. Opomba ob izdaji omenja varnostne popravke, vendar se osredotoča na ranljivost v mod_userdir, ki vključuje uporabo znakov ".." in "." v uporabniškem imenu.

Na seznamu sprememb je bila omenjena tudi težava z obdelavo glav HTTP, vendar so razvijalci strojne programske opreme ta popravek spregledali in ni bil prenesen v izdelek, saj je bila opomba o morebitni odpravi ranljivosti razreda use-after-free prisotna le v besedilo objave, na splošnem seznamu pa ni bilo nobenih sprememb, ki bi pokazale, da napaka povzroči dostop do pomnilnika po prostem.

Ranljivost omogoča branje vsebine pomnilnika zunaj dodeljenega medpomnilnika. Težavo povzroča napaka v kodi za združevanje glave HTTP, ki se uporablja pri podajanju več primerkov glave HTTP »If-Modified-Since«. Pri obdelavi drugega primerka glave je lighttpd dodelil nov medpomnilnik za shranjevanje združene vrednosti in sprostil pomnilnik za medpomnilnik, ki je vseboval vrednost iz prve glave. V tem primeru se kazalec con->request.http_if_modified_since ni spremenil in je še naprej kazal na že sproščeno pomnilniško območje.

Ker je bil ta kazalec uporabljen v operacijah primerjave vsebine glave If-Modified-Since, rezultat katere je vodil do generiranja različnih povratnih kod, je lahko napadalec s surovo silo uganil novo vsebino pomnilnika, ki je bil prej ki ga zaseda prvi medpomnilnik. Težavo bi lahko uporabili v kombinaciji z drugimi ranljivostmi, na primer za določitev postavitve pomnilnika za obhod varnostnih mehanizmov, kot je ASLR (naključna izbira naslovnega prostora).

Prisotnost ranljivosti je bila potrjena na strežniških platformah Lenovo in Intel, vendar ti podjetji ne nameravata izdati posodobitev vdelane programske opreme zaradi izteka časa podpore za izdelke, ki uporabljajo to vdelano programsko opremo, in nizke stopnje resnosti ranljivosti. Težava se kaže v vdelani programski opremi za platforme Intel M70KLP ter Lenovo HX3710, HX3710-F in HX2710-E (ranljivost je med drugim prisotna v najnovejših različicah vdelane programske opreme Lenovo 2.88.58 in Intel 01.04.0030). Poleg tega poročajo, da se ranljivost v lighttpd pojavlja tudi v vdelani programski opremi za opremo Supermicro in v strežnikih, ki uporabljajo krmilnike BMC Duluth in AETN.

Vir: opennet.ru

Dodaj komentar