Recentemente, sono state scoperte tre gravi vulnerabilità nel gestore di dipendenze CocoaPods, utilizzato per progetti Cocoa in Swift e Objective-C. Queste falle di sicurezza potrebbero essere sfruttate per effettuare attacchi alla supply chain del software, mettendo a rischio gli utenti finali delle app iOS e macOS.
Le Vulnerabilità Scoperte
Le vulnerabilità permettono a un attore malevolo di rivendicare la proprietà di migliaia di pacchetti non reclamati, inserendo codice dannoso in molte delle applicazioni più popolari. Gli analisti di sicurezza della E.V.A Information Security hanno identificato le seguenti falle:
- CVE-2024-38368 (punteggio CVSS: 9.3): Questo difetto consente a un attaccante di abusare del processo "Claim Your Pods" per prendere il controllo di un pacchetto e manipolare il codice sorgente. Tuttavia, ciò richiede che tutti i precedenti manutentori siano stati rimossi dal progetto.
- CVE-2024-38366 (punteggio CVSS: 10.0): La seconda vulnerabilità sfrutta un flusso di verifica email non sicuro per eseguire codice arbitrario sul server Trunk, permettendo di manipolare o sostituire i pacchetti.
- CVE-2024-38367 (punteggio CVSS: 8.2): Questo bug nella componente di verifica dell'indirizzo email può indurre il destinatario a cliccare su un link di verifica apparentemente innocuo, reindirizzando in realtà la richiesta a un dominio controllato dall'attaccante per ottenere i token di sessione del sviluppatore.
Il Contesto Storico
Le radici del problema risalgono al 2014, quando la migrazione al server Trunk ha lasciato migliaia di pacchetti con proprietari sconosciuti o non reclamati. Questo ha permesso agli attaccanti di usare un'API pubblica per rivendicare i pod utilizzando un indirizzo email presente nel codice sorgente di CocoaPods.
Impatti e Soluzioni
La situazione è ulteriormente aggravata dalla possibilità di sviluppare un attacco di takeover dell'account senza clic, sfruttando un'intestazione HTTP falsificata (X-Forwarded-Host) e strumenti di sicurezza email mal configurati. I ricercatori hanno notato che quasi tutti i proprietari di pod sono registrati con l'email della loro organizzazione sul server Trunk, rendendoli vulnerabili a questa tipologia di attacco.
Precedenti Incidenti
Non è la prima volta che CocoaPods è sotto esame per problemi di sicurezza. Nel marzo 2023, è stato scoperto che un sottodominio abbandonato associato al gestore di dipendenze poteva essere dirottato per ospitare payload dannosi.
Raccomandazioni
Si consiglia a tutti gli sviluppatori di aggiornare immediatamente CocoaPods all'ultima versione e di monitorare costantemente le loro dipendenze per identificare potenziali rischi. Inoltre, è fondamentale implementare misure di sicurezza robuste per la verifica delle email e la gestione delle sessioni degli utenti, al fine di mitigare possibili attacchi futuri.