Tre gravi vulnerabilità sono state scoperte e risolte dopo quasi 10 anni. Erano presenti in CocoaPods, un gestore delle dipendenze open source per progetti Swift e Objective-C utilizzato da oltre 3 milioni di app iOS e macOS. Le patch sono state rilasciate ad ottobre 2023. I ricercatori di EVA Information Security hanno ora pubblicato tutti i dettagli.
Possibili attacchi supply chain
Ogni pacchetto (noto come Pod) presente in CocoaPods ha un file Podspec che include vari metadati, tra cui nome, versione, file sorgenti e dipendenze. Per aggiungere un Podspec è necessario avere un account. Fino a maggio 2014, gli sviluppatori potevano usare un account GitHub. Successivamente è stato attivato un server per la conservazione e distribuzione dei pacchetti. Per confermare la registrazione è necessario cliccare su un link ricevuto via email.
Durante la migrazione al nuovo server, migliaia di Pod sono rimasti orfani (1.870 al momento), ovvero nessun sviluppatore ha confermato di essere il proprietario. Questi pacchetti vengono associati ad un proprietario predefinito, al quale è stata attribuita l’email unclaimed-pods@cocoapods.org
.
La vulnerabilità CVE-2024-38367 poteva essere sfruttata per modificare l’URL usato per la validazione dell’email. Un malintenzionato poteva sostituire l’URL con quello del proprio server e prendere il controllo degli account associati ai pacchetti.
La vulnerabilità CVE-2024-38368 consentiva invece di sfruttare una API pubblica per prendere il controllo di un pacchetto orfano e quindi di inserire codice infetto che può essere usato in migliaia di app iOS e macOS.
La vulnerabilità CVE-2024-38366 poteva infine essere sfruttata per eseguire codice sul server. A causa dell’errata implementazione del controllo dell’email tramite il record MX (Mail Exchanger) era possibile aggiungere al dominio un comando bash che, quando eseguito, consentiva di accedere al server.
Il team di CocoaPods ha risolto le tre vulnerabilità e cambiato la procedura per reclamare i Pod orfani (è necessario contattare direttamente l’azienda). Al momento non sono stati scoperti exploit, ma gli sviluppatori che hanno usato i pacchetti prima di ottobre devono effettuare un’approfondita analisi del codice.