Уразлівасць у прашыўках BMC-кантролераў, якая закранае серверы шматлікіх вытворцаў

Кампанія Eclypsium выявіла дзве ўразлівасці ў прашыўках BMC-кантролера, які пастаўляецца ў серверах Lenovo ThinkServer, якія дазваляюць лакальнаму карыстачу падмяніць прашыўку ці выканаць адвольны код на боку чыпа BMC.

Далейшы разбор паказаў, што дадзеныя праблемы закранаюць і прашыўкі BMC-кантролераў, якія прымяняюцца ў серверных платформах Gigabyte Enterprise Servers, якія таксама выкарыстоўваюцца ў серверах такіх кампаній, як Acer, AMAX, Bigtera, Ciara, Penguin Computing і sysGen. У праблемных BMC-кантролерах ужываліся ўразлівыя прашыўкі MergePoint EMS, распрацаваныя іншым пастаўшчыком Avocent (у цяперашні час з'яўляецца падраздзяленнем кампаніі Vertiv).

Першая ўразлівасць выкліканая адсутнасцю крыптаграфічнай верыфікацыі загружаных абнаўленняў прашыўкі (выкарыстоўваецца толькі праверка кантрольнай сумы CRC32, насуперак рэкамендацыі NIST выкарыстоўваць лічбавыя подпісы), што дазваляе атакаваламу, які мае лакальны доступ да сістэмы, падмяніць прашыўку BMC. Праблема, напрыклад, можа быць скарыстана для глыбокай інтэграцыі руткіта, які застаецца актыўным пасля пераўсталёўкі аперацыйнай сістэмы і блакавальнага далейшыя абнаўленні прашыўкі (для ўхілення руткіта запатрабуецца ўжыванне праграматара для перазапісу SPI flash).

Другая ўразлівасць прысутнічае ў кодзе абнаўлення прашыўкі і дазваляе ажыццявіць падстаноўку сваіх каманд, якія будуць выкананы ў BMC з найвышэйшым узроўнем прывілеяў. Для нападу досыць змяніць значэнне параметру RemoteFirmwareImageFilePath у файле канфігурацыі bmcfwu.cfg, праз які вызначаецца шлях да выявы якая абнаўляецца прашыўкі. Падчас чарговага абнаўлення, якое можна ініцыяваць камандай у IPMI, дадзены параметр будзе апрацаваны BMC і скарыстаны ў складзе выкліку popen() як частка радка для /bin/sh. Бо радок для фармавання shell-каманды ствараецца з ужываннем выкліку snprintf() без належнай чысткі спецзнакаў, атакавалыя могуць падставіць свой код для выканання. Для эксплуатацыі ўразлівасці патрабуецца наяўнасць правоў, якія дазваляюць адправіць праз IPMI каманду кантролеру BMC (пры наяўнасці права адміністратара на серверы можна адправіць каманду IPMI без дадатковай аўтэнтыфікацыі).

Кампаніі Gigabyte і Lenovo былі абвешчаныя аб праблемах яшчэ ў ліпені 2018 гады і паспелі выпусціць абнаўленні да публічнага расчынення звестак. Кампанія Lenovo выпусціла абнаўленні прашывак 15 лістапада 2018 гады для сервераў ThinkServer RD340, TD340, RD440, RD540 і RD640, але ўхіліла ў іх толькі ўразлівасць, якая дазваляе ажыццявіць падстаноўку каманд, бо падчас стварэння лінейкі сервераў на базе MergePoint2014. яшчэ не была шырока распаўсюджана і першапачаткова не заяўлялася.

8 траўня гэтага года кампанія Gigabyte выпусціла абнаўленні прашывак для матчыных поплаткаў з кантролерам ASPEED AST2500, але як і Lenovo ухіліла толькі ўразлівасць, злучаную з падстаноўкай каманд. Уразлівыя платы на базе ASPEED AST2400 пакуль застаюцца без абнаўлення. Gigabyte таксама заявіў аб пераходзе на выкарыстанне прашывак MegaRAC SP-X ад кампаніі AMI. У тым ліку новыя прашыўкі на базе MegaRAC SP-X будуць прапанаваны для сістэм, якія раней пастаўляліся з прашыўкамі MergePoint EMS. Рашэнне прынята пасля заявы Vertiv аб спыненні падтрымкі платформы MergePoint EMS. Пры гэтым аб абнаўленні прашывак на серверах, якія выпускаюцца кампаніямі Acer, AMAX, Bigtera, Ciara, Penguin Computing і sysGen на базе поплаткаў Gigabyte і абсталяваных уразлівымі прашыўкамі MergePoint EMS пакуль нічога не паведамляецца.

Нагадаем, што BMC уяўляе сабой усталёўваны ў серверах спецыялізаваны кантролер, які мае свой CPU, памяць, сховішча і інтэрфейсы апытання датчыкаў, які падае нізкаўзроўневы інтэрфейс для маніторынгу і кіравання серверным абсталяваннем. Пры дапамозе BMC незалежна ад якая працуе на серверы аперацыйнай сістэмы можна адсочваць стан датчыкаў, кіраваць сілкаваннем, прашыўкамі і дыскамі, арганізаваць выдаленую загрузку па сетцы, забяспечыць працу кансолі выдаленага доступу і да т.п.

Крыніца: opennet.ru

Дадаць каментар