CocoaPods, um repositório de código aberto Swift e Objective-C, tinha múltiplas vulnerabilidades que expuseram milhões de aplicativos iOS e macOS a ataques potenciais por uma década, mas agora foi corrigido.
CocoaPods deixam milhões de aplicativos iOS e macOS vulneráveis a ataques
O repositório CocoaPods tem sido um alvo potencial para um grande número de aplicativos há muito tempo, mas não há explorações conhecidas para aplicativos iOS ou macOS. A vulnerabilidade em questão foi corrigida em outubro e revelada em relatório da EVA Information Security.
Os detalhes do relatório incluem: ars técnica, explica o que deu errado e como a vulnerabilidade pode ser explorada. Esses problemas podem levar a problemas sérios se forem explorados por um invasor mal-intencionado, e sempre existe a possibilidade de serem explorados sem que ninguém saiba.
Vulnerabilidades do CocoaPods
CocoaPods, um repositório para pacotes Swift e Objective-C, tinha três problemas importantes. Todos eles relatam como o desenvolvedor fez login para gerenciar o chamado pod. Pods são pacotes de código que os desenvolvedores podem incluir em aplicativos atualizados remotamente.
Quando os administradores do pod fizeram login, eles tiveram que inserir o endereço de e-mail associado ao pod. Recebi um e-mail com um link de verificação que me levou diretamente para a página da minha conta verificada.
A manipulação deste link permite que um invasor mal-intencionado aponte-o para um servidor que ele controla (CVE-2024-38367) ou se infiltre e assuma o controle de um pod abandonado (CVE-2024-38368). Pode ser possível executar código no tronco servidor (CVE-2024-38366). ). Como resultado, um invasor mal-intencionado pode potencialmente impactar pods usados por milhões de aplicativos iOS e macOS que utilizam CocoaPods.
Em teoria, como isso funcionaria é que um invasor mal-intencionado poderia manipular o pod e fazer com que ele fosse atualizado automaticamente em todos os aplicativos em que fosse usado, usando as novas instruções fornecidas a ele. Se um pod tiver acesso a informações confidenciais do usuário, como senhas ou dados de cartão de crédito, essas informações poderão cair nas mãos de um invasor mal-intencionado.
“Ao ser capaz de executar comandos shell arbitrários no servidor, um invasor pode ler variáveis de ambiente, que podem ser usadas para gravar no repositório CocoaPods/Specs e ler o banco de dados de tronco”, disse o mantenedor do CocoaPods, Therox. “Se conseguirmos enganar as pessoas para que cliquem em um link que as leva a um site de terceiros, ele poderá ser usado para roubar chaves de sessão. Não podemos garantir que nenhuma dessas coisas aconteceu e preferimos estar seguros. lado.” “Estou aqui.” ”
Se você é um desenvolvedor que usa CocoaPods antes de outubro, há algumas coisas que você pode fazer para garantir que estará protegido contra ataques.
- Sincronize o arquivo podfile.lock com todos os desenvolvedores do CocoaPods para garantir que todos estejam usando a mesma versão do pacote. Isso evita que os desenvolvedores sejam atualizados automaticamente quando novas atualizações potencialmente prejudiciais são comprometidas.
- Ao usar Pods desenvolvidos internamente e hospedados apenas no CocoaPods para distribuição em larga escala, os desenvolvedores podem realizar a validação CRC (checksum) em Pods baixados do servidor tronco do CocoaPods para Você deve garantir que seja igual ao desenvolvido internamente (se possível). .
- Implemente uma análise de segurança completa do código de terceiros usado em seu aplicativo.
- Verifique suas dependências do CocoaPods e certifique-se de não estar usando pods órfãos.
- Certifique-se de usar dependências de terceiros que sejam mantidas ativamente e tenham propriedade clara.
- Execute verificações regulares de código de segurança para detectar segredos e códigos maliciosos em todas as bibliotecas externas, especialmente CocoaPods.
- Tenha cuidado com dependências muito utilizadas, pois elas podem ser alvos mais atraentes para possíveis invasores. CocoaPods são apenas o começo.
O que você precisa fazer
Simplificando, é fácil. Provavelmente está tudo bem. Não há evidências de que essas vulnerabilidades tenham sido exploradas. É claro que a falta de provas não significa vitória completa.
Mantenha seu iPhone e aplicativos atualizados para ficar protegido contra vulnerabilidades conhecidas
No entanto, se os pods foram modificados e usados para coletar dados confidenciais ou infectar máquinas de alguma outra forma, isso foi claramente feito de uma forma que ninguém sabia. A única coisa que você pode fazer como usuário é manter seus aplicativos confiáveis atualizados e monitorar sua conta em busca de qualquer atividade estranha.
Este problema foi corrigido e as chaves de sessão antigas foram apagadas. Portanto, você não deverá enfrentar problemas futuros com CocoaPods relacionados a essas vulnerabilidades.
Mantenha seus dispositivos e aplicativos atualizados para estar sempre trabalhando com os patches e correções de bugs mais recentes.

