Fjärrutnyttjad sårbarhet i OMI-agent införd i Microsoft Azure Linux-miljöer

Microsoft Azure molnplattformskunder som använder Linux i virtuella maskiner har stött på en kritisk sårbarhet (CVE-2021-38647) som tillåter fjärrkörning av kod som root. Sårbarheten fick kodnamnet OMIGOD och är anmärkningsvärt för det faktum att problemet finns i OMI Agent-applikationen, som är tyst installerad i Linux-miljöer.

OMI Agent installeras och aktiveras automatiskt när du använder tjänster som Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics och Azure Container Insights. Till exempel är Linux-miljöer i Azure som övervakning är aktiverad för utsatta för attacken. Agenten är en del av det öppna paketet OMI (Open Management Infrastructure Agent) med implementering av DMTF CIM/WBEM-stacken för IT-infrastrukturhantering.

OMI-agenten installeras på systemet under omsagent-användaren och skapar inställningar i /etc/sudoers för att köra en serie skript som root. Under driften av vissa tjänster skapas lyssningsnätverksuttag på nätverksportarna 5985, 5986 och 1270. Genomsökning i Shodan-tjänsten visar närvaron av mer än 15 tusen sårbara Linux-miljöer på nätverket. För närvarande har en fungerande prototyp av exploateringen redan placerats i det offentliga området, vilket gör att du kan köra din kod som root på sådana system.

Problemet förvärras av det faktum att Azure inte uttryckligen dokumenterar användningen av OMI och OMI Agent installeras utan förvarning - det räcker att acceptera villkoren för den valda tjänsten när du konfigurerar miljön och OMI Agent kommer att aktiveras automatiskt, dvs. de flesta användare är inte ens medvetna om dess närvaro.

Exploateringsmetoden är trivial - det räcker att skicka en XML-begäran till agenten och ta bort rubriken som är ansvarig för autentisering. OMI använder autentisering när den tar emot kontrollmeddelanden, vilket verifierar att klienten är behörig att skicka ett visst kommando. Kärnan i sårbarheten är att när "Authentication"-huvudet som ansvarar för autentisering tas bort från meddelandet, anser servern att verifieringen är lyckad, accepterar kontrollmeddelandet och tillåter exekvering av kommandon med root-privilegier. För att utföra godtyckliga kommandon i systemet räcker det med att använda standardkommandot ExecuteShellCommand_INPUT i meddelandet. Till exempel, för att köra verktyget "id" räcker det att skicka en begäran: 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 har redan släppt OMI 1.6.8.1-uppdateringen med korrigeringen för sårbarheten, men den har ännu inte skickats till Microsoft Azure-användare (i nya miljöer installeras fortfarande den gamla versionen av OMI). Agentens automatiska uppdatering stöds inte, så användare måste manuellt uppdatera paketet med "dpkg -l omi" på Debian/Ubuntu eller "rpm -qa omi" på Fedora/RHEL. Som en säkerhetslösning rekommenderas det att blockera åtkomst till nätverksportarna 5985, 5986 och 1270.

Förutom CVE-2021-38647, fixar OMI 1.6.8.1 även tre sårbarheter (CVE-2021-38648, CVE-2021-38645 och CVE-2021-38649) som kan tillåta en oprivilegierad lokal användare att köra sin kod som root .

Källa: opennet.ru

Lägg en kommentar