Klientët e platformës cloud Microsoft Azure, që përdorin Linux në maƥinën virtuale, u përballën me një vulnerabilitet kritik (CVE-2021-38647), i cili lejon ekzekutimin e kodit në distancë me të drejtat root. Vulnerabiliteti ka emrin kodor OMIGOD dhe është i veçantë për shkak se problemi ndodhet në aplikacionin OMI Agent, i cili instalohet në mënyrë të heshtur në mjediset Linux.
OMI Agent instalohet dhe aktivizohet automatikisht gjatë përdorimit të shërbimeve si Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics dhe Azure Container Insights. Për shembull, mjediset Linux në Azure të cilat kanë aktivizuar monitorimin janë të prekshme nga sulmi. Agjenti është pjesë e paketës së hapur OMI (Open Management Infrastructure Agent) me implementimin e stekut DMTF CIM/WBEM për menaxhimin e infrastrukturës IT.
OMI Agent instalohet në sistem nën përdoruesin omsagent dhe krijon konfigurime në /etc/sudoers për të ekzekutuar një sërë skriptesh me të drejtat root. Gjatë punës së disa shërbimeve, krijohen socketa rrjeti që dëgjojnë në portet rrjetit 5985, 5986 dhe 1270. Skanime në shërbimin Shodan tregojnë prani në rrjet të mbi 15 mijë mjediseve Linux të prekshme. Aktualisht, një prototip funksional i eksploitit është në dispozicion publik, duke lejuar ekzekutimin e kodit të vet me të drejtat root në këto sisteme.
Problemi përkeqësohet nga fakti se në Azure përdorimi i OMI nuk është dokumentuar qartë dhe OMI Agent instalohet pa paralajmërim - mjafton të pranohet kushtet e shërbimit të zgjedhur gjatë konfigurimit të mjedisit dhe OMI Agent do të aktivizohet automatikisht, pra shumica e përdoruesve as që e dyshojnë pranishmërinë e tij.
Metoda e shfrytëzimit është triviale - mjafton të dërgohet një kërkesë XML te agjenti, duke hequr kokën që merret me autentikimin. OMI përdor autentikimin gjatë marrjes së mesazheve menaxhuese, duke verifikuar se klienti ka të drejtë të dërgojë komandën e caktuar. Thelbi i vulnerabilitetit është se duke hequr nga mesazhi kokën 'Authentication', server agjenti e konsideron kalimin e verifikimit të suksesshëm, pranon mesazhin menaxhues dhe lejon ekzekutimin e komandave me të drejtat root. Për të ekzekutuar komandat arbitrare në sistem mjafton të përdoret komanda standarde ExecuteShellCommand_INPUT në mesazh. Për shembull, për të nisur utilitarin 'id' mjafton të dërgohet kërkesa: curl -H 'Content-Type: application/soap+xml;charset=UTF-8' -k --data-binary '@http_body.txt' https://10.0.0.5:5986/wsman ...
id
0
Kompania Microsoft ka lëshuar tashmë një përditësim OMI 1.6.8.1 që eliminon vulnerabilitetin, por ende nuk është shpërndarë për përdoruesit e Microsoft Azure (në mjediset e reja vazhdohet të instalohet versioni i vjetër i OMI). Autopërditësimi i agjentit nuk mbështetet, prandaj përdoruesit duhet të bëjnë përditësimin e paketës manualisht, duke përdorur komandat 'dpkg -l omi' në Debian/Ubuntu ose 'rpm -qa omi' në Fedora/RHEL. Si një zgjidhje alternative për mbrojtje, rekomandohet bllokimi i aksesit në portet rrjet 5985, 5986 dhe 1270.
Përveç CVE-2021-38647, në OMI 1.6.8.1 janë zgjidhur gjithashtu tre vulnerabilitete (CVE-2021-38648, CVE-2021-38645 dhe CVE-2021-38649) që lejojnë një përdorues lokal pa privilegje të ekzekutojë kodin e tij me të drejtat root.
Burimi: opennet.ru
