Pesquisadores de segurança identificaram recentemente duas vulnerabilidades críticas de código em um componente central da cadeia de suprimentos do PHP. Chamado PEAR, ou Extensão PHP e Repositório de Aplicativos, o componente é um framework e um sistema de distribuição para componentes PHP reutilizáveis. As duas vulnerabilidades do PEAR poderiam ter sido facilmente identificadas e exploradas por agentes de ameaças, os pesquisadores disseram, com quase nenhum conhecimento técnico ou conhecimento necessário.
Vulnerabilidades do repositório PHP PEAR: O que se sabe?
Mais especificamente, os problemas datam de pelo menos 15 anos, e estão localizados no repositório PHP PEAR. Como resultado de uma exploração bem-sucedida, invasores podem realizar um ataque à cadeia de suprimentos, resultando em acesso não autorizado e execução de código arbitrário.
Em termos de impacto e consequências, Pesquisadores do Sonar comparam as vulnerabilidades do PEAR aos ataques da SolarWinds. “O impacto de tais ataques em ferramentas de desenvolvedor como o PEAR é ainda mais significativo, pois é provável que eles o executem em seus computadores antes de implantá-lo em servidores de produção, criando uma oportunidade para os invasores girarem na rede interna das empresas,” Pesquisadores do sonar disseram.
A primeira vulnerabilidade decorre de um code commit feito em março 2007 e está associado ao uso de dados criptograficamente inseguros mt_rand() Função PHP na funcionalidade de redefinição de senha. O problema pode permitir que um agente de ameaças “descobrir um token de redefinição de senha válido em menos de 50 tentativas,” conforme o relatório. Os cenários de ataque incluem direcionar contas de desenvolvedor e administrador existentes e sequestrá-las para publicar versões não autorizadas de pacotes mantidos pelo desenvolvedor, criando as condições para um ataque à cadeia de suprimentos.
CVE-2020-36193
A segunda vulnerabilidade é CVE-2020-36193 e pode ajudar os agentes de ameaças a obter persistência. O problema CVE-2020-36193 precisa ser encadeado com a vulnerabilidade anterior para que uma exploração bem-sucedida ocorra. A falha decorre do chamado teia de pêra dependência de uma versão mais antiga do Arquivo_tar, e pode levar à execução arbitrária de código.
“Depois de encontrar uma maneira de acessar os recursos reservados aos desenvolvedores aprovados, os agentes de ameaças provavelmente procurarão obter a execução remota de código no servidor. Tal descoberta lhes concederia consideravelmente mais capacidades operacionais: mesmo que o bug mencionado anteriormente acabe sendo corrigido, um backdoor permitiria manter o acesso persistente ao servidor e continuar a alterar os lançamentos de pacotes. Também poderia ajudá-los a ocultar seus rastros modificando os logs de acesso,” O relatório da Sonar acrescentou.
A boa notícia é que os mantenedores lançaram um primeiro patch em 4 de agosto, em que eles introduziram um método seguro para gerar bytes pseudo-aleatórios na funcionalidade de redefinição de senha. Você pode ler mais sobre isso em o relatório original.
No 2021, o servidor oficial do PHP Git foi comprometido em um ataque à cadeia de suprimentos de software. Os invasores enviaram atualizações não autorizadas para implantar um backdoor no código-fonte do servidor.