Scoperto brutto bug nell’utilità Linux ampiamente utilizzata curl e già rilasciate le patch

Identificato grave bug nell'utilità ampiamente diffusa di Linux curl, con patch rilasciate in tempi rapidi

buco di sicurezza astratto

Per la maggior parte, gli utenti Linux comuni non sanno cosa sia curl. I programmatori e gli amministratori di sistema conoscono bene l’utilità, però. 

Questo comando shell e la sua libreria associata, libcurl, vengono utilizzati per trasferire dati su tutti i protocolli di rete che hai mai sentito nominare, ed è utilizzato su desktop, server, cloud, automobili, televisori, router e praticamente su tutti i dispositivi Internet of Things (IoT). Gli sviluppatori di Curl stimano che sia utilizzato in oltre venti miliardi di istanze. E ora c’è un possibile brutto bug di sicurezza, CVE-2023-38545.

Anche: Google Cloud, AWS e Cloudflare segnalano gli attacchi DDoS più grandi di sempre

Quanto è brutto? Il principale sviluppatore di Curl, Daniel Stenberg, ha scritto in un post sul blog che è “il peggior problema di sicurezza trovato in curl da molto tempo.” Dovrebbe saperlo.

Gli esperti di sicurezza sono d’accordo. Questo, in una parola, è brutto. 

Come ha avvertito Saeed Abbasi, Product Manager di Qualys Threat Research Unit: 

Le organizzazioni devono agire velocemente per catalogare, scansionare e aggiornare tutti i sistemi che utilizzano curl e libcurl. In particolare, la gravità della vulnerabilità di alto livello richiede attenzione immediata e cauta per proteggere le applicazioni interconnesse e consapevoli del web, garantendo che rimanga intatta e sicura la ricca funzionalità di trasferimento dati offerta da curl e libcurl.

In particolare, il buco di sicurezza può essere invocato quando qualcuno utilizza il protocollo proxy SOCKS5. Questo protocollo piuttosto semplice stabilisce la comunicazione di rete tramite un “intermediario” dedicato. Il protocollo viene utilizzato quando si comunica tramite Tor, il software internet open-source utilizzato per consentire comunicazioni anonime e l’accesso privato a internet da parte di organizzazioni e aziende. Alcune reti private virtuali, come NordVPN, Private Internet Access e Hide.Me, lo offrono per consentire ai loro utenti di superare i blocchi dei contenuti internet e garantire la loro anonimità. 

In una conversazione su Mastodon, Steinberg ha detto: “Forse il più realistico è un utente di Tor (che di solito utilizza SOCKS5) che accede a un sito HTTPS che è stato violato o simile” è il più probabile a cadere in questo buco di sicurezza. 

Anche: 7 cose che anche i nuovi utenti di Linux possono fare per migliorare la sicurezza del sistema operativo

CVE-2023-38545 è un buco di overflow di memoria heap. Potrebbe essere sfruttato per l’esecuzione remota di codice. Ci sono già prove di concetto che mostrano come potrebbe avvenire un attacco utilizzando il buco di curl

La falla di sicurezza è stata introdotta nel febbraio 2020 e interessa le versioni di libcurl da 7.69.0 a 8.3.0 inclusa.

Steinberg è imbarazzato per il suo errore:

Leggendo il codice ora, è impossibile non vedere il bug. Sì, è davvero doloroso dover accettare il fatto che ho commesso questo errore senza accorgermene e che il difetto sia rimasto inosservato nel codice per 1315 giorni. Mi scuso. Sono solo umano… Guardando indietro, rilasciare un heap overflow in un codice installato in oltre venti miliardi di istanze non è un’esperienza che raccomanderei.

Non tutti pensano che sia un grosso problema. Bill Demirkapi, membro del team di Vulnerability and Mitigations del Microsoft Security Response Center, ha twittato su Twitter, aka X, che “Il ‘peggior problema di sicurezza trovato in curl da molto tempo’ è accessibile solo se la vittima sta usando un proxy SOCKS5 e si connette a un server falso o è vittima di un attacco MitM [Man in the Middle]? Io torno a dormire“.

In modo meno sarcastico, l’azienda di catena di approvvigionamento software JFrog ha osservato:

Si può presumere con una buona fiducia che questa vulnerabilità verrà sfruttata nel mondo reale per l’esecuzione di codice remoto, con exploit più sofisticati che verranno sviluppati. Tuttavia, gli insiemi di pre-condizioni necessarie perché una macchina sia vulnerabile (vedi sezione precedente) sono più restrittivi di quanto inizialmente si credesse. Pertanto, riteniamo che la maggior parte degli utenti di curl non sarà influenzata da questa vulnerabilità.

Per essere precisi, le pre-condizioni necessarie per far divampare il problema in un incendio di sicurezza di curl sono:

  1. La richiesta di curl viene effettuata tramite socks5h.

  2. Il buffer di negoziazione della macchina a stati di curl è più piccolo di ~65k.

  3. La risposta di “hello” del server SOCKS è ritardata.

  4. L’attaccante imposta un hostname di destinazione finale più grande del buffer di negoziazione.

È una serie di pre-condizioni molto lunga.

Tuttavia, data l’ampia diffusione di Curl su vari sistemi operativi, applicazioni e dispositivi IoT, l’annuncio tempestivo di Steinberg del problema è stata una mossa strategica intelligente. Ha fornito alle organizzazioni un ampio margine di tempo per verificare i propri sistemi, identificare tutte le istanze di curl e libcurl in uso e sviluppare un piano completo per la patch enterprise-wide.

Inoltre: Nuovo malware Android scoperto infetta migliaia di dispositivi

Il progetto curl non si è fermato lì; le informazioni sulle falle sono state contemporaneamente condivise con gli sviluppatori di varie distribuzioni Linux, Unix e simili a Unix. Questo approccio collaborativo ha assicurato che le patch e i pacchetti aggiornati fossero pronti prima del rilascio ufficiale di curl v8.4.0.

Quindi sia io che il progetto curl consigliamo vivamente agli utenti di aggiornare alla versione 8.4.0 di curl/libcurl o di applicare patch alle versioni precedenti per mitigare i rischi associati a queste vulnerabilità.

Dato che libcurl/curl è un componente predefinito in molte distribuzioni Linux e incluso in numerosi container images, gli utenti Linux dovrebbero essere vigili e cercare le release da parte di questi fornitori. La maggior parte dei principali distributori Linux ha già rilasciato le patch.