Выдалена эксплуатаваная ўразлівасць у OMI-агенце, які навязваецца ў Linux-акружэннях Microsoft Azure

Кліенты хмарнай платформы Microsoft Azure, якія выкарыстоўваюць Linux у віртуальных машынах, сутыкнуліся з крытычнай уразлівасцю (CVE-2021-38647), якая дазваляе выдалена выканаць код з правамі root. Уразлівасць атрымала кодавае імя OMIGOD і характэрная тым, што праблема прысутнічае ў прыкладанні OMI Agent, якое без лішняй агалоскі ўсталёўваецца ў Linux-асяроддзі.

OMI Agent аўтаматычна ўстанаўліваецца і актывуецца пры выкарыстанні такіх сэрвісаў, як Azure Automation, Azure аўтаматычнага абнаўлення, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics і Azure Container Insights. Напрыклад, нападу схільныя Linux-акружэнні ў Azure для якіх уключаны маніторынг. Агент з'яўляецца часткай адкрытага пакета OMI (Open Management Infrastructure Agent) з рэалізацыяй стэка DMTF CIM / WBEM для кіравання IT-інфраструктурай.

OMI Agent усталёўваецца ў сістэме пад карыстачом omsagent і стварае налады ў /etc/sudoers для запуску серыі скрыптоў з правамі root. У працэсе працы некаторых сэрвісаў ствараюцца слухаючыя сеткавыя сокеты на сеткавых партах 5985, 5986 і 1270. Сканіраванне ў сэрвісе Shodan паказвае наяўнасць у сетцы больш за 15 тысяч уразлівых Linux-акружэнняў. У наш час у адчыненым доступе ўжо размешчаны працоўны прататып эксплоіта, які дазваляе выканаць свой код з правамі root на падобных сістэмах.

Праблема пагаршаецца тым, што ў Azure відавочна не дакументавана ўжыванне OMI і OMI Agent усталёўваецца без папярэджання - досыць пагодзіцца з умовамі абранага сэрвісу пры наладзе асяроддзя і OMI Agent будзе аўтаматычна актываваны, г.зн. большасць карыстальнікаў нават не падазраюць аб яго наяўнасці.

Метад эксплуатацыі трывіяльны - досыць адправіць да агента XML-запыт, выдаліўшы загаловак, які адказвае за аўтэнтыфікацыю. OMI выкарыстоўвае аўтэнтыфікацыю пры атрыманні кіраўнікоў паведамленняў, правяраючы, што кліент мае права на адпраўку той ці іншай каманды. Сутнасць уразлівасці ў тым, што пры выдаленні ў паведамленні загалоўка "Authentication", які адказвае за аўтэнтыфікацыю, сервер лічыць праходжанне праверкі паспяховай, прымае кіравальнае паведамленне і дапушчае выкананне каманд з правамі root. Для выканання адвольных каманд у сістэме дастаткова выкарыстоўваць у паведамленні штатную каманду ExecuteShellCommand_INPUT. Напрыклад, для запуску ўтыліты "id" дастаткова даслаць запыт: curl -H "Content-Type: application/soap+xml;charset=UTF-8" -k -data-binary "@http_body.txt" https://10.0.0.5. 5986:3/wsman … id 2003

Кампанія Microsoft ужо выпусціла абнаўленне OMI 1.6.8.1 з ухіленнем уразлівасці, але яно яшчэ не даведзена да карыстачоў Microsoft Azure (у новых асяродках пакуль усталёўваецца старая версія OMI). Аўтаабнаўленне агента не падтрымліваецца, таму карыстачам неабходна выканаць абнаўленне пакета ўручную, выкарыстоўваючы каманды "dpkg -l omi" у Debian/Ubuntu або "rpm -qa omi" у Fedora/RHEL. У якасці абыходнага шляху абароны рэкамендуецца блакаваць доступ да сеткавых партоў 5985, 5986 і 1270.

Акрамя CVE-2021-38647 у OMI 1.6.8.1 таксама ўхіленыя тры ўразлівасці (CVE-2021-38648, CVE-2021-38645 і CVE-2021-38649), якія дазваляюць непривилегированному лакальнаму карыстачу выканаць.

Крыніца: opennet.ru

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