Scoperto codice dannoso nelle distribuzioni Linux

Una backdoor impiantata in XZ Utils è riuscita a insinuarsi in alcune distribuzioni Linux molto popolari.

Alcuni cybercriminali sconosciuti hanno impiantato codice dannoso nelle versioni 5.6.0 e 5.6.1 di XZ Utils, un insieme di strumenti software open source progettati per la compressione dei file. A peggiorare le cose, le utility troianizzate sono riuscite a insinuarsi in diverse build popolari di Linux rilasciate a marzo, per cui questo incidente potrebbe essere considerato un attacco alla supply-chain. Questa vulnerabilità è stata denominata CVE-2024-3094.

Cosa rende questo impianto dannoso così pericoloso?

Inizialmente, diversi ricercatori hanno affermato che questa backdoor consentiva agli hacker di bypassare l’autenticazione sshd (il processo del server OpenSSH) e di ottenere da remoto un accesso non autorizzato al sistema operativo. Tuttavia, a giudicare dalle ultime informazioni, questa vulnerabilità non dovrebbe essere classificata come “bypass dell’autenticazione”, ma come “esecuzione di codice remoto” (RCE). La backdoor intercetta la funzione RSA_public_decrypt, verifica la firma dell’host utilizzando la chiave fissa Ed448 e, se la verifica ha esito positivo, esegue il codice dannoso passato dall’host tramite la funzione system(), senza lasciare tracce nei log di sshd.

Quali distribuzioni Linux contengono utility dannose e quali sono sicure?

Si sa che le versioni 5.6.0 e 5.6.1 di XZ Utils sono state incluse nelle build di marzo delle seguenti distribuzioni Linux:

  • Kali Linux, ma, secondo il blog ufficiale, solo quelli disponibili tra il 26 e il 29 marzo (il blog include anche le istruzioni per verificare la presenza di versioni vulnerabili delle utility);
  • openSUSE Tumbleweed e openSUSE MicroOS, disponibili dal 7 al 28 marzo;
  • Fedora 41, Fedora Rawhide e Fedora Linux 40 beta;
  • Debian (distribuzioni di testing instabili e sperimentali);
  • Arch Linux, immagini container disponibili dal 29 febbraio al 29 marzo. Il sito org afferma però che, a causa delle specificità legate all’implementazione, questo vettore di attacco non funzionerà in Arch Linux, ma raccomanda comunque vivamente di aggiornare il sistema.

Secondo le informazioni ufficiali, Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise, openSUSE Leap e Debian Stable non sono vulnerabili. Per quanto riguarda le altre distribuzioni, si consiglia di verificare manualmente la presenza di versioni troianizzate di XZ Utils.

Come è stato possibile impiantare il codice dannoso in XZ Utils?

A quanto pare, si tratta di un caso atipico di trasferimento del controllo. La persona che inizialmente ha mantenuto il progetto XZ Libs su GitHub ha passato il controllo del repository a un account che ha contribuito a una serie di repository relative alla compressione dei dati per diversi anni. E a un certo punto, qualcuno che si nascondeva dietro a quest’altro account ha impiantato una backdoor nel codice del progetto.

L’epidemia sfiorata che non si è mai verificata

Secondo Igor Kuznetsov, responsabile del nostro Global Research and Analysis Team (GReAT), lo sfruttamento di CVE-2024-3094 avrebbe potuto potenzialmente diventare il più grande attacco su larga scala all’ecosistema Linux in tutta la sua storia. Questo perché era rivolto principalmente ai server SSH, il principale strumento di gestione remota di tutti i server Linux su Internet. Se fosse finito nelle distribuzioni stabili, probabilmente avremmo assistito a un gran numero di attacchi ai server. Tuttavia, fortunatamente, la CVE-2024-3094 è stata rilevata nelle distribuzioni di testing e rolling, in cui vengono utilizzati i pacchetti software più recenti. In altre parole, la maggior parte degli utenti Linux è  al sicuro. Finora non abbiamo rilevato nessun caso di sfruttamento di CVE-2024-3094.

Come proteggersi?

La U.S. Cybersecurity and Infrastructure Security Agency (CISA) raccomanda a tutti coloro che hanno installato o aggiornato i sistemi operativi colpiti nel mese di marzo di eseguire immediatamente il downgrade di XZ Utils a una versione precedente (ad esempio, la versione 5.4.6). E di avviare anche una scansione alla ricerca di attività dannose.

Se avete installato una distribuzione con una versione vulnerabile di XZ Utils, è opportuno inoltre cambiare tutte le credenziali che potrebbero venire sottratte al sistema da parte degli autori delle minacce.

È possibile individuare la presenza di una vulnerabilità utilizzando la regola Yara per CVE-2024-3094.

Se si sospetta che un cybercriminale possa aver avuto accesso all’infrastruttura aziendale, si consiglia di utilizzare il servizio Kaspersky Compromise Assessment per scoprire eventuali attacchi passati o in corso.

Consigli