Pesquisadores identificaram vulnerabilidades no CocoaPods, um gerenciador de dependências bastante utilizado por desenvolvedores de projetos em Swift e Objective-C.
Estas falhas expuseram cerca de 3 milhões de aplicativos iOS e macOS a ataques de cadeia de suprimentos, podendo comprometer dados sensíveis de milhões de usuários e introduzir riscos significativos à segurança.
Surpreendentemente, essas falhas ficaram desapercebidas por cerca de uma década, mas foram finalmente resolvidas em outubro.
A descoberta dessas falhas foi divulgada inicialmente pelo ArsTechnica, com base em estudos realizados pela EVA Information Security.
CocoaPods é amplamente reconhecido como um gerenciador de dependências open-source essencial para o desenvolvimento de software nas plataformas Apple, incluindo iOS e macOS.
Ele simplifica a integração de bibliotecas externas em aplicativos, permitindo aos desenvolvedores incluir rapidamente código adicional, como frameworks e componentes, em seus próprios projetos.
Este gerenciador facilita a instalação e atualização dessas bibliotecas, assegurando o uso das versões mais recentes e compatíveis, o que contribui para agilizar o desenvolvimento e manutenção dos aplicativos.
Em resposta a estas descobertas, os responsáveis pelo CocoaPods prontamente corrigiram as vulnerabilidades em outubro.
Medidas de segurança incluíram a revogação de todas as chaves de sessão para proteção das contas de desenvolvedores e a implementação de um novo procedimento para gestão de pods órfãos, agora dependendo do contato direto com os administradores do sistema.
Apesar de não haver confirmação de exploração dessas falhas, os cenários apontados pelos pesquisadores foram considerados viáveis.
Os autores do estudo da EVA forneceram recomendações de segurança para os desenvolvedores que empregam o CocoaPods em seus projetos.
- A primeira vulnerabilidade (CVE-2024-38367) foi causada por um mecanismo falho de verificação de e-mail, permitindo a manipulação de URLs e a injecção de código prejudicial nos aplicativos.
Isso apresentava um risco de exposição de dados sensíveis dos usuários.
- A segunda vulnerabilidade (CVE-2024-38368) possibilitava que attackers assumissem controle sobre pods não mantidos, injetando atualizações maliciosas em aplicativos amplamente distribuídos.
- A terceira vulnerabilidade (CVE-2024-38366) relacionava-se com a possibilidade de execução de código no servidor trunk, devido a fragilidades no processo de confirmação de e-mails, oferecendo aos invasores acesso ao shell do servidor e a variáveis de ambiente.
Algumas medidas de precaução são:
- Sincronizar o arquivo podfile.lock entre todos os desenvolvedores do projeto usando CocoaPods.
- Implementar validação CRC nos Pods desenvolvidos internamente.
- Realizar auditorias de segurança regulares em código de terceiros.
- Garantir a manutenção ativa e a propriedade clara das dependências utilizadas.
- Executar scans periódicos em busca de código malicioso em bibliotecas de terceiros.
- Exercer cautela com dependências populares, devido ao seu potencial atraente para atacantes.
Publicidade
Passe por todas as principais fases de um pentest, utilizando cenários, domínios e técnicas reais utilizados no dia a dia de um hacker ético. Conte ainda com certificado e suporte, tudo 100% gratuito. Saiba mais...