Ieri sono state rivelate gravi falle di sicurezza (risolte lo scorso ottobre 2023) nel popolare gestore di dipendenze CocoaPods, ampiamente utilizzato nello sviluppo di applicazioni per iOS e macOS. Queste vulnerabilità, sono rimaste inosservate e irrisolte per quasi un decennio; hanno potenzialmente esposto migliaia di pacchetti software a rischi di compromissione. Ciò ha creato opportunità per attacchi che avrebbero potuto colpire milioni di app e dispositivi Apple. L’impatto potenziale di queste falle era significativo; questo considerando che CocoaPods è attualmente integrato in oltre 3 milioni di applicazioni per le piattaforme Apple.
Sebbene i manutentori di CocoaPods hanno rivelato e corretto le vulnerabilità lo scorso ottobre 2023 migliaia di app Apple sono state potenzialmente vulnerabili per quasi un decennio. CocoPods ha affermato di non essere a conoscenza di alcun tentativo attivo di sfruttare le vulnerabilità.
Le vulnerabilità scoperte in CocoaPods
I ricercatori di E.V.A Information Security hanno identificato tre vulnerabilità critiche nel server “Trunk” di CocoaPods; è utilizzato per gestire i pacchetti open source per progetti Swift e Objective-C. La prima vulnerabilità, denominata CVE-2024-38368 ha un punteggio CVSS di 9.3; avrebbe consentito a un potenziale attaccante di abusare del processo “Claim Your Pods” per assumere il controllo di un pacchetto. Ciò avrebbe permesso di manipolare il codice sorgente e introdurre modifiche dannose.
La seconda vulnerabilità, CVE-2024-38366, è ancora più critica con un punteggio CVSS di 10.0; essa sfrutta un flusso di verifica email non sicuro per eseguire codice arbitrario sul server Trunk. Questo avrebbe potuto essere utilizzato per manipolare o sostituire i pacchetti. La terza vulnerabilità, CVE-2024-38367 con un punteggio CVSS di 8.2, risiede nel codice sorgente del server Trunk; avrebbe potuto consentire il furto di token di sessione degli sviluppatori senza interazione dell’utente.
Origini e impatto delle vulnerabilità
Le radici di queste vulnerabilità risalgono al 2014, quando una migrazione al server Trunk lasciò migliaia di pacchetti con proprietari sconosciuti o non reclamati. Ciò ha permesso a potenziali attaccanti di utilizzare un’API pubblica per reclamare i pod e un indirizzo email disponibile nel codice sorgente di CocoaPods per assumerne il controllo. Al momento della scoperta, 1.870 pod risultavano ancora non reclamati dai loro proprietari, lasciandoli orfani e accessibili.
L’impatto potenziale di queste vulnerabilità è stato vasto e preoccupante. Molte delle applicazioni più popolari per iOS e macOS, incluse quelle sviluppate da giganti tecnologici come Apple, Microsoft, Meta (Facebook), TikTok e altri, utilizzano CocoaPods come gestore di dipendenze. Un attacco riuscito avrebbe potuto potenzialmente infettare “quasi ogni dispositivo Apple“.
Rischi e azioni correttive
Le implicazioni per la sicurezza e la privacy degli utenti finali sono state significative. Molte applicazioni mobili hanno accesso a informazioni sensibili degli utenti, come dettagli delle carte di credito e materiali privati. L’iniezione di codice malevolo in queste applicazioni avrebbe potuto consentire agli attaccanti di accedere a tali informazioni. Con finalità dannose, tra cui ransomware, frodi, ricatti e spionaggio industriale.
Sebbene i manutentori di CocoPods hanno rivelato e corretto le vulnerabilità lo scorso ottobre, gli sviluppatori e i team che hanno utilizzato CocoaPods negli ultimi anni, in particolare prima di Ottobre 2023, dovrebbero intraprendere azioni per verificare l’integrità delle dipendenze open source utilizzate nel loro codice applicativo.
Le raccomandazioni includono la revisione delle dipendenze CocoaPods per identificare eventuali pod orfani; l’esecuzione di convalide checksum su tutto il codice scaricato dal server Trunk di CocoaPods; infine la revisione di tutto il codice di terze parti.
Vulnerabilità CocoaPods : conclusioni
Le vulnerabilità scoperte in CocoaPods evidenziano la complessità e i rischi nelle moderne catene di approvvigionamento software. Con una stima del 97% di tutte le basi di codice commerciali che utilizzano componenti open source, la necessità di una maggiore attenzione alla sicurezza della supply chain software è più critica che mai. Mentre i gestori di pacchetti come CocoaPods svolgono un ruolo importante nel rendere disponibile il software open source, possono anche diventare punti di fallimento centrali.
Le organizzazioni devono adattarsi continuamente, implementando best practice, strumenti e processi per mitigare i rischi associati alle dipendenze di terze parti e al software open source. Solo attraverso una vigilanza costante e un impegno condiviso per la sicurezza, l’ecosistema software può rimanere resiliente di fronte alle minacce emergenti.