Pesquisadores descobriram vulnerabilidades no CocoaPods, um repositório amplamente utilizado para gerenciar projetos em Swift e Objective-C, que expuseram aproximadamente 3 milhões de aplicativos iOS e macOS a ataques de cadeia de suprimentos. Esses ataques poderiam comprometer dados sensíveis de milhões de usuários, levando a riscos significativos de segurança. As falhas, que passaram despercebidas por uma década, foram corrigidas em outubro.
A exposição de risco aos apps via CocoaPods foi revelada pelo ArsTechnica baseado em pesquisas da EVA Information Security.
O que é o CocoaPods?
O CocoaPods é um gerenciador de dependências de código aberto para projetos de desenvolvimento de software em plataformas Apple, como iOS e macOS. Ele facilita a integração de bibliotecas de terceiros nos aplicativos, permitindo que os desenvolvedores incorporem rapidamente código adicional, como frameworks e componentes, ao seu próprio projeto.
O gerenciador automatiza a instalação e atualização dessas bibliotecas, garantindo que as versões mais recentes e compatíveis sejam usadas, o que agiliza o processo de desenvolvimento e manutenção dos aplicativos.
Natureza das vulnerabilidades
- A primeira vulnerabilidade (CVE-2024-38367) resultou de um mecanismo inseguro de verificação de e-mail, permitindo que invasores manipulassem URLs e injetassem código malicioso em aplicativos. Isso arriscava a exposição de informações sensíveis dos usuários, como detalhes de cartões de crédito e registros médicos.
- A segunda vulnerabilidade (CVE-2024-38368) permitiu que invasores assumissem o controle de pods abandonados, injetando atualizações prejudiciais em aplicativos amplamente usados.
- A terceira vulnerabilidade (CVE-2024-38366) envolvia a execução de código no servidor trunk devido a falhas no processo de verificação de e-mails, concedendo aos invasores acesso ao shell do servidor e expondo variáveis de ambiente.
Resposta e mitigação
Em resposta, os mantenedores do CocoaPods corrigiram essas vulnerabilidades em outubro. Eles limparam todas as chaves de sessão para proteger as contas dos desenvolvedores e implementaram um novo procedimento para recuperar pods órfãos, exigindo contato direto com os mantenedores. Embora não houvesse confirmação de exploração ativa, os cenários descritos pelos pesquisadores foram reconhecidos como plausíveis.
Recomendações para desenvolvedores que usam o CocoaPods
Os pesquisadores da EVA recomendaram várias medidas de precaução para desenvolvedores de aplicativos:
- Sincronizar o arquivo
podfile.lock
entre todos os desenvolvedores do CocoaPods. - Realizar validação CRC nos Pods desenvolvidos internamente.
- Conduzir revisões de segurança completas do código de terceiros.
- Verificar a manutenção ativa e a propriedade clara das dependências.
- Fazer varreduras periódicas para detectar código malicioso em bibliotecas externas.
- Ser cauteloso com dependências amplamente usadas, pois são alvos atraentes para ataques.
Olhar Digital