Vulnerabilità sfruttabile da remoto nell'agente OMI, imposto negli ambienti Linux di Microsoft Azure

I clienti della piattaforma cloud Microsoft Azure che utilizzano Linux nelle macchine virtuali hanno riscontrato una vulnerabilità critica (CVE-2021-38647) che consente l'esecuzione remota di codice con diritti di root. Questa vulnerabilità è stata battezzata OMIGOD ed è interessante notare che il problema è presente nell'applicazione OMI Agent, che viene installata in modo silenzioso negli ambienti Linux.

L'agente OMI viene installato e attivato automaticamente quando si utilizzano servizi come Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics e Azure Container Insights. Ad esempio, gli ambienti Linux in Azure abilitati per il monitoraggio sono vulnerabili. L'agente fa parte del pacchetto open source OMI (Open Management Infrastructure Agent) con implementazione dello stack DMTF CIM/WBEM per la gestione dell'infrastruttura IT.

L'agente OMI viene installato nel sistema con l'utente omsagent e crea impostazioni in /etc/sudoers per eseguire una serie di script con diritti di root. Durante il funzionamento di alcuni servizi, vengono creati socket di rete in ascolto sulle porte 5985, 5986 e 1270. La scansione nel servizio Shodan mostra più di 15.000 ambienti Linux vulnerabili nella rete. Attualmente, è già disponibile un prototipo di exploit funzionante che consente di eseguire il proprio codice con diritti di root su tali sistemi.

Il problema è aggravato dal fatto che in Azure non è chiaramente documentato l'uso di OMI e l'agente OMI viene installato senza alcun avviso: è sufficiente accettare i termini del servizio scelto durante la configurazione dell'ambiente affinché l'agente OMI venga attivato automaticamente, il che significa che la maggior parte degli utenti nemmeno sospetta la sua presenza.

Il metodo di sfruttamento è banale: basta inviare una richiesta XML all'agente, rimuovendo l'intestazione responsabile dell'autenticazione. OMI utilizza l'autenticazione nella ricezione di messaggi di comando, verificando che il cliente abbia il diritto di inviare un determinato comando. La vulnerabilità consiste nel fatto che, rimuovendo dall'intestazione del messaggio il campo "Authentication", responsabile dell'autenticazione, server considera il superamento del controllo come riuscito, riceve il messaggio di gestione e consente l'esecuzione di comandi con diritti root. Per eseguire comandi arbitrari nel sistema, è sufficiente utilizzare nel messaggio il comando standard ExecuteShellCommand_INPUT. Ad esempio, per avviare l'utilità "id" è sufficiente inviare la richiesta: 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

L'azienda Microsoft ha già rilasciato un aggiornamento OMI 1.6.8.1 che risolve la vulnerabilità, ma non è ancora stato distribuito agli utenti di Microsoft Azure (nelle nuove istanze viene ancora installata la vecchia versione di OMI). L'aggiornamento automatico dell'agente non è supportato, quindi gli utenti devono eseguire l'aggiornamento del pacchetto manualmente, utilizzando i comandi "dpkg -l omi" in Debian/Ubuntu o "rpm -qa omi" in Fedora/RHEL. Come soluzione alternativa per la protezione, si raccomanda di bloccare l'accesso alle porte di rete 5985, 5986 e 1270.

Oltre a CVE-2021-38647, in OMI 1.6.8.1 sono state corretti anche tre vulnerabilità (CVE-2021-38648, CVE-2021-38645 e CVE-2021-38649) che consentono a un utente locale non privilegiato di eseguire il proprio codice con diritti root.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster