News

‘Quase todos os dispositivos da Apple’ são vulneráveis ​​a ataques à cadeia de suprimentos do CocoaPods

CocoaPods, um gerenciador de dependências de código aberto usado em mais de três milhões de aplicativos codificados em Swift e Objective-C, deixou milhares de pacotes expostos e prontos para serem controlados por quase uma década, criando assim oportunidades para ataques à cadeia de suprimentos em aplicativos iOS e macOS, de acordo com pesquisadores de segurança.

A empresa israelense EVA Information Security anunciou sua descoberta em uma entrevista na segunda-feira postagem de blog. A EVA alega que o CocoaPods em 2014 migrou todos os “Pods” – um arquivo descrevendo as dependências de um projeto – para um novo “servidor Trunk” no GitHub. Essa migração viu a autoria de todos os Pods ser redefinida, e os autores pediram para reivindicar seu trabalho.

Alguns não o fizeram e, no momento em que escrevi, 1.870 cápsulas permaneceram não reclamados por seus donos, deixando-os órfãos – e acessíveis.

Essa confusão agora é conhecida como CVE-2024-38368que a EVA nos disse ter uma pontuação CVSS de 9,3. O problema recebeu essa classificação porque todos os Pods órfãos eram afiliados a um endereço de e-mail padrão, e uma API pública para reivindicar Pods não reivindicados estava disponível até o final de 2023 – sem necessidade de fornecer qualquer verificação de propriedade.

Para reivindicar um Pod, tudo o que um invasor precisava fazer era transmitir uma solicitação CURL específica e voilà – eles teriam liberdade para modificar um Pod e inserir código malicioso.

Os pesquisadores da EVA escreveram que não viram evidências de que essa bagunça tenha sido explorada. Mas, dado o bilhão de dispositivos iOS em uso — e o fato de que aplicativos da Meta, Apple, Microsoft, TikTok, Amazon e outros foram encontrados usando Pods vulneráveis ​​— é absolutamente concebível que “milhares a milhões” de aplicativos tenham sido expostos à exploração pela vulnerabilidade.

O fato de estarmos cientes dessa bobagem também é um pouco fortuito: os pesquisadores os descobriram ao realizar um exercício de equipe vermelha para um cliente, não por meio de um exame intencional de CocoaPods.

Se a equipe EVA conseguiu encontrá-los, outra pessoa também poderia.

Divirtam-se muito: Breach CocoaPods, pessoal

Uma segunda vulnerabilidade – CVE-2024-38366CVSS 10.0 – permite a execução remota de código no servidor Trunk graças à verificação de troca de e-mail usando um vulnerável RFC822 Pacote Ruby. Ao explorar o fato de que o pacote acima mencionado executa comandos de host contra um endereço de e-mail fornecido sem validação adequada, um comando bash final pode ser injetado para despejar tokens de sessão, envenenar o tráfego do cliente ou até mesmo disparar um desligamento do servidor.

Terceiro, há uma vulnerabilidade no próprio código-fonte do servidor Trunk – CVE-2024-38367CVSS 8.2 – que tem uma cadeia de exploração interessante que depende da funcionalidade padrão do software de varredura de e-mail para roubar tokens de validação de sessão sem a necessidade de interação do usuário.

O CocoaPods autentica novos dispositivos usando um e-mail enviado aos usuários que solicitam uma sessão, observaram os pesquisadores – mas a autenticação não depende de nada além de um cliente verificando seu endereço de e-mail clicando em um link.

“Descobrimos que o servidor aceitará um cabeçalho XFH falsificado e o usará explicitamente para construir uma URL enviada ao cliente para verificar a sessão”, lamentaram os pesquisadores. Clicar no link gerado pelo cabeçalho XFH falsificado transmite um token de sessão diretamente para o falsificador.

É aqui que entra o clique zero: como os serviços de escaneamento de e-mail verificam os links para compará-los a modelos de phishing conhecidos, os pesquisadores observaram que as ferramentas automatizadas acabam seguindo o link e transmitindo o token de sessão em nome de um usuário alvo. Opa.

“Descobrimos que quase todos os proprietários de Pod estão registrados com seu e-mail organizacional no servidor Trunk, o que os torna vulneráveis ​​à nossa vulnerabilidade de aquisição de clique zero”, alertou a equipe da EVA. “Foi bem simples assumir quase todas as contas de Pod organizacionais em [a target] sistema, já que suas soluções de segurança de e-mail estão verificando ativamente todos os links enviados para suas caixas de entrada.”

Os pesquisadores observaram que, na verdade, usaram o método “para assumir o controle das contas dos proprietários de alguns dos pacotes CocoaPods mais populares”, o que “poderíamos ter usado… para ataques altamente prejudiciais à cadeia de suprimentos que poderiam impactar todo o ecossistema da Apple”.

Conforme observado acima, a equipe do CocoaPods corrigiu os problemas – e parece ter feito isso meses antes – embora os detalhes não fossem amplamente conhecidos até a EVA publicar sua pesquisa hoje.

“O pior cenário é que um invasor poderia ter usado essa técnica para obter acesso ao nosso banco de dados trunk”, escreveu Orta Therox, um voluntário do projeto CocoaPods, em outubro. “Estamos limpando todas as chaves de sessão, o que garante que ninguém além daqueles com acesso aos seus e-mails possa postar atualizações nesses Pods.”

Mantenedores do CocoaPods contatados por O registro não respondeu às perguntas antes da publicação.

Outro aviso de segurança de código aberto

“As vulnerabilidades descobertas no CocoaPods servem como um lembrete importante dos riscos associados à dependência de código-fonte aberto e dependências de terceiros”, escreveram os pesquisadores — uma mensagem que ouvimos com frequência nos últimos anos.

Como um ataque à cadeia de suprimentos, essa vulnerabilidade do CocoaPods poderia ter se encontrado na ilustre companhia de explorações tão prejudiciais como Log4ShellO recente Polienchimento fiasco, SolarWinds e outros. Felizmente, parece que não é o caso – mas é impossível saber com certeza.

“Embora não haja evidências diretas de que qualquer uma dessas vulnerabilidades esteja sendo explorada na natureza”, observaram os pesquisadores da EVA, a ausência de evidências não é evidência de ausência.

Os pesquisadores recomendam que todos que usam o CocoaPods revisem suas dependências em busca de Pods órfãos, realizem validações de soma de verificação em todo o código baixado do servidor CocoaPods Trunk, revisem todo o código de terceiros, atualizem suas instalações do CocoaPods e, em geral, estejam mais atentos aos riscos da cadeia de suprimentos de software de código aberto.

Com um estimado Acredita-se que 97 por cento de todas as bases de código comerciais utilizam componentes de código aberto, esse conselho se aplica a praticamente todos – usuários do CocoaPods ou não. ®

Source

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button