In una nuova rivelazione, milioni di applicazioni iOS e macOS sono state trovate vulnerabili a una violazione della sicurezza che potrebbe essere sfruttata per attacchi alla supply chain. Questa violazione, scoperta da EVA Information Security, evidenzia difetti significativi in CocoaPods, un gestore di dipendenze open source ampiamente utilizzato nello sviluppo di app per piattaforme Apple.
La violazione della sicurezza è incentrata su un meccanismo di verifica e-mail non sicuro utilizzato per autenticare gli sviluppatori di singoli pod (librerie). Questo meccanismo ha consentito agli aggressori di manipolare l’URL in un collegamento di verifica per puntare a un server dannoso. Di conseguenza, gli aggressori potrebbero ottenere l’accesso a dati sensibili dell’app, come dettagli di carte di credito, cartelle cliniche e materiali privati. I dati potrebbero quindi essere sfruttati per vari scopi dannosi, tra cui ransomware, frode, ricatto e spionaggio aziendale.
L’indagine di EVA Information Security ha rivelato che circa 3 milioni di app iOS e macOS create con CocoaPods sono vulnerabili da quasi un decennio. L’exploit avrebbe potuto potenzialmente consentire agli aggressori di inserire codice dannoso in molte applicazioni popolari, compromettendo la sicurezza di milioni di utenti.
Non è la prima volta che CocoaPods affronta sfide di sicurezza. Nel 2021, i manutentori hanno confermato una vulnerabilità che consentiva ai repository di eseguire codice arbitrario sui server, consentendo agli aggressori di sostituire pacchetti legittimi con pacchetti dannosi. La recente scoperta di EVA Information Security evidenzia tre difetti critici nel gestore delle dipendenze di CocoaPods, tutti ora corretti. Gli sviluppatori devono ora rivalutare e verificare l’integrità delle dipendenze open source utilizzate nelle loro applicazioni, nonché assicurarsi che il loro COCOAPODS_TRUNK_TOKEN sia aggiornato per una maggiore sicurezza (poiché i token obsoleti potrebbero rendere vulnerabile il tuo ambiente di sviluppo).
La prima vulnerabilità, CVE-2024-38368, con un punteggio CVSS di 9,3, ha consentito agli aggressori di abusare del processo “Claim Your Pods” per prendere il controllo di un pacchetto e modificarne il codice sorgente. La seconda vulnerabilità, CVE-2024-38366, con un punteggio CVSS di 10,0, ha sfruttato un flusso di lavoro di verifica e-mail non sicuro per eseguire codice arbitrario sul server Trunk. La terza, CVE-2024-38367, con un punteggio CVSS di 8,2, ha comportato la manipolazione di un collegamento di verifica per reindirizzare le richieste a un dominio controllato dall’aggressore, ottenendo così l’accesso ai token di sessione degli sviluppatori.
Il potenziale impatto di queste vulnerabilità è profondo. Rappresentavano un grave rischio per i clienti downstream, consentendo ad attori malintenzionati di inserire codice dannoso nelle applicazioni iOS e macOS più diffuse. Le radici del problema risalgono al 2014, quando una migrazione al server Trunk ha lasciato migliaia di pacchetti con proprietari sconosciuti o non reclamati. Gli aggressori potevano sfruttarlo utilizzando un’API pubblica per reclamare questi pod e inserire codice dannoso. Dopo aver scoperto le vulnerabilità, i ricercatori di EVA hanno informato privatamente gli sviluppatori di CocoaPods. Il team di CocoaPods ha risposto prontamente, cancellando tutte le chiavi di sessione per impedire l’accesso non autorizzato e introducendo nuove procedure per il recupero dei pod orfani. Ora gli sviluppatori sono tenuti a contattare direttamente l’azienda per assumere il controllo di queste dipendenze, migliorando la sicurezza.