Vulnerabilità in u firmware AMI MegaRAC causata da u trasportu di una vechja versione di lighttpd

Una vulnerabilità hè stata identificata in u firmware MegaRAC da American Megatrends (AMI), chì hè utilizatu in i cuntrolli BMC (Baseboard Management Controller) utilizati da i fabricatori di servitori per urganizà a gestione di l'equipaggiu autònuma, chì permette à un attaccu micca autenticatu di leghje remotamente u cuntenutu di a memoria di u prucessu chì furnisce u funziunamentu di l'interfaccia web. A vulnerabilità appare in u firmware liberatu da u 2019 è hè causata da a spedizione di una vechja versione di u servitore HTTP Lighttpd chì cuntene una vulnerabilità senza patch.

In a basa di codice Lighttpd, sta vulnerabilità hè stata riparata in 2018 in a versione 1.4.51, ma a correzione hè stata fatta senza assignà un identificatore CVE è senza publicà un rapportu chì descrive a natura di a vulnerabilità. A nota di liberazione menzionava correzioni di sicurezza, ma fucalizza nantu à una vulnerabilità in mod_userdir chì implica l'usu di i caratteri ".." è "". in u nome d'utilizatore.

A lista di cambiamenti hà ancu mintuatu un prublema cù l'elaborazione di l'intestazione HTTP, ma sta correzione hè stata mancata da i sviluppatori di firmware è ùn hè micca stata trasferita à u pruduttu, postu chì a nota nantu à l'eliminazione potenziale di a vulnerabilità di classi di usu-dopu-free era presente solu in u testu di l'impegnu, è in a lista generale ùn sò micca stati cambiati per indicà chì l'errore risultati in un accessu di memoria dopu liberu.

A vulnerabilità permette di leghje u cuntenutu di a memoria fora di u buffer assignatu. U prublema hè causatu da un bug in u codice di fusione di l'intestazione HTTP utilizatu quandu si specifica parechje istanze di l'intestazione HTTP "If-Modified-Since". Quandu prucessa a seconda istanza di l'intestazione, lighttpd hà attribuitu un novu buffer per mantene u valore unitu è ​​liberatu a memoria per u buffer chì cuntene u valore da u primu capu. In questu casu, l'indicatore con->request.http_if_modified_since ùn hà micca cambiatu è hà cuntinuatu à indicà à l'area di memoria digià liberata.

Siccomu stu puntatore hè stata utilizata in operazioni chì comparanu u cuntenutu di l'intestazione If-Modified-Since, u risultatu di quale hà purtatu à a generazione di diversi codici di ritornu, l'attaccante puderia, per forza bruta, indovinà u novu cuntenutu di a memoria chì era prima. occupatu da u primu buffer. U prublema puderia esse aduprata in cumminazione cù altre vulnerabilità, per esempiu per determinà u layout di memoria per scaccià i miccanismi di sicurezza cum'è ASLR (Address Space Randomization).

A prisenza di a vulnerabilità hè stata cunfirmata in i plataformi di u servitore Lenovo è Intel, ma queste cumpagnie ùn pensanu micca di liberà l'aghjurnamenti di firmware per via di a scadenza di u tempu di supportu per i prudutti chì utilizanu questi firmwares è u livellu di gravità bassu di a vulnerabilità. U prublema si manifesta in firmware per i plataformi Intel M70KLP è Lenovo HX3710, HX3710-F è HX2710-E (a vulnerabilità hè presente, frà altri cose, in l'ultime versioni di firmware Lenovo 2.88.58 è Intel 01.04.0030). Inoltre, hè infurmatu chì a vulnerabilità in lighttpd appare ancu in u firmware per l'equipaggiu Supermicro è in i servitori chì utilizanu controller BMC da Duluth è AETN.

Source: opennet.ru

Add a comment