Vulnerabilità (già risolte) in Cocoa Pods: migliaia di app iOS e macOS potenzialmente coinvolte

Una serie di vulnerabilità presenti nel gestore di dipendenze Cocoa Pods avrebbero potuto consentire ad un malintenzionato di compromettere applicazioni per l'ecosistema Apple, con effetti potenzialmente devastanti
di Andrea Bai pubblicata il 02 Luglio 2024, alle 12:01 nel canale SicurezzamacOSiOSwatchOSiPadOS
Gli analisti di sicurezza di E.V.A Information Security hanno individuato gravi vulnerabilità nel gestore di dipendenze CocoaPods, uno strumento largamente utilizzato per progetti Swift e Objective-C. Le vulnerabilità, dopo essere state comunicate secondo i principi di divulgazione responsabile, sono state corrette lo scorso mese di ottobre, ma avrebbero potenzialmente consentito ad attori di minaccia di assumere la proprietà di migliaia di pacchetti software non reclamati e di iniettare codice dannoso in numerose applicazioni iOS e macOS.
CocoaPods è un gestore di dipendenze open source che gioca un ruolo cruciale nell'ecosistema di sviluppo Apple, con circa 100.000 librerie impiegate in oltre 3 milioni di app mobili. Come altri gestori di dipendenze quali NPM, Maven e PyPI, CocoaPods è fondamentale per garantire l'integrità e l'autenticità dei componenti software utilizzati dagli sviluppatori, attraverso meccanismi di checksum e firma crittografica dei pacchetti.
La compromissione di un gestore di dipendenze, che appunto rappresenta un elemento critico nello sviluppo di applicazioni, rappresenta una minaccia particolarmente insidiosa: un aggressore che riesca a infiltrarsi nei server o negli account degli sviluppatori di questi strumenti potrebbe distribuire aggiornamenti malevoli su larga scala, con conseguenze potenzialmente devastanti. Le vulnerabilità scoperte dagli analisti E.V.A. (individuate nel corso di un'esercitazione "red team" per un cliente) riguardavano principalmente i meccanismi di gestione dei pacchetti e di verifica della proprietà sul server CocoaPods.
I ricercatori hanno in particolare scoperto che nel 2014 un processo di migrazione aveva lasciato "orfani" migliaia di pacchetti, senza cioè che avessero un proprietario identificato. Molti di questi pacchetti sono ancora ampiamente utilizzati, e un malintenzionato avrebbe potuto reclamarne la proprietà sfruttando un'API pubblica e un indirizzo email disponibile nel codice sorgente di CocoaPods, potendo in questo modo sostituire il codice originale con una versione compromessa. A questo si aggiunge un meccanismo di verifica email non sicuro, che poteva essere sfruttato per eseguire codice arbitrario sul server "Trunk" di CocoaPods, responsabile della distribuzione e dei metadati dei Podspecs, che avrebbe permesso all'eventuale aggressore di manipolare o sostituire i pacchetti scaricati.

Tramite lo spoofing di un'intestazione HTTP e sfruttando configurazioni errate degli strumenti di sicurezza email, gli aggressori avrebbero potuto eseguire un attacco zero-click per ottenere l'accesso al token di verifica dell'account di uno sviluppatore, consentendo la modifica dei pacchetti sul server CocoaPods. Infine un'ulteriore vulnerabilità avrebbe permesso a un malintenzionato di infiltrarsi nel server "Trunk" di CocoaPods, aprendo la strada a una vasta gamma di potenziali exploit.
L'impatto potenziale di queste vulnerabilità era estremamente vasto, con una stima di migliaia o addirittura milioni di app iOS, macOS e altri software per dispositivi Apple potenzialmente esposte ad attacchi zero click e ad attacchi "supply chain". In ogni caso considerando quanto sia di fatto impossibile poter avere un quadro chiaro delle dipendenze nel codice closed-source, è altrettanto impossibile valutare l'entità del potenziale danno.
Chiaramente, però, le implicazioni di queste vulnerabilità sono particolarmente preoccupanti considerando che CocoaPods è una scelta particolarmente favorita tra gli sviluppatori iOS. E.V.A. osserva che molti degli artefatti potenzialmente coinvolti sono dipendenze di progetti gestiti da grandi aziende come Google, GitHub, Amazon e Dropbox, mettendo a rischio non solo i loro progetti ma anche le dipendenze a valle.
L'impatto sulle app per l'utente finale, distribuite su milioni di dispositivi, avrebbe potuto essere particolarmente significativo, con il rischio di causare danni e conseguenze spiacevoli a singoli utenti e aziende. Molte delle applicazioni potenzialmente coinvolte possono, per il loro funzionamento ordinario, accedere ad informazioni sensibili come numeri di carte di credito, dettagli sanitari e altro materiale privato. La possibilità di compromettere queste app iniettando codice dannoso avrebbe potuto consentire ad un aggressore di accedere e recuperare queste informazioni e usarle per truffe, furti d'identità, spionaggio industriale e via discorrendo.
E.V.A. suggerisce agli sviluppatori che hanno realizzato app per le piattaforme Apple di rivedere attentamente gli elenchi delle dipendenze e i gestori di pacchetti utilizzati nelle loro applicazioni, validare i checksum delle librerie di terze parti, eseguire scansioni periodiche per rilevare codice malevolo o modifiche sospette e mantenere il software costantemente aggiornato. Come suggerimento generale, inoltre, la società di sicurezza sottolinea la necessità di limitare l'uso di pacchetti orfani o non mantenuti.
Gli analisti di sicurezza infine affermano che al momento non esiste alcuna diretta evidenza dello sfruttamento di queste vulnerabilità nel mondo reale, precisando in ogni caso che "l'assenza di evidenza" non va confusa con "l'evidenza di assenza". Occhi aperti, dunque.
0 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoDevi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".