Falhas no PHP Composer permitem execução de comandos arbitrários
- Cyber Security Brazil
- há 2 horas
- 3 min de leitura

Duas vulnerabilidades de alta severidade foram identificadas no Composer, uma das ferramentas mais utilizadas no ecossistema PHP para gerenciamento de dependências. As falhas, se exploradas com sucesso, podem permitir que hackers executem comandos arbitrários no sistema, comprometendo diretamente o ambiente onde o Composer está sendo utilizado — incluindo servidores de desenvolvimento, pipelines de CI/CD e até ambientes de produção.
O problema está diretamente ligado ao driver de integração com o sistema de controle de versão Perforce, utilizado em cenários específicos para gerenciar código-fonte. Segundo os detalhes divulgados, as vulnerabilidades envolvem falhas na validação de entradas e na sanitização de dados, permitindo que informações maliciosas sejam interpretadas como comandos pelo sistema.
Como o ataque funciona na prática
As duas falhas — CVE-2026-40176 (CVSS 7.8) e CVE-2026-40261 (CVSS 8.8) — exploram diretamente o arquivo composer.json, que define as dependências de um projeto PHP.
No primeiro caso, um invasor pode manipular a configuração de um repositório, inserindo um repositório malicioso com referência ao Perforce. Ao executar o Composer, comandos ocultos dentro dessa configuração podem ser executados automaticamente no sistema da vítima.
Já na segunda vulnerabilidade, o ataque ocorre por meio da inserção de metacaracteres de shell em campos como referências de código (source reference). Esses caracteres especiais são interpretados pelo sistema operacional, permitindo a injeção e execução de comandos arbitrários.
Um detalhe crítico destacado pelos mantenedores é que os comandos podem ser executados mesmo que o Perforce não esteja instalado no ambiente. Isso amplia significativamente a superfície de ataque, já que elimina uma possível barreira técnica que limitaria a exploração.
Cadeia de ataque: de dependência maliciosa à execução remota
Esse tipo de vulnerabilidade se encaixa perfeitamente em ataques de supply chain (cadeia de suprimentos), cada vez mais comuns no cenário atual. O fluxo de ataque pode seguir os seguintes passos:
O hacker publica ou manipula um repositório com configurações maliciosas no composer.json;
Um desenvolvedor ou pipeline automatizado consome esse repositório como dependência;
Ao rodar o comando do Composer (install, update, etc.), o código malicioso é processado;
O sistema executa comandos arbitrários no contexto do usuário que executou o Composer;
A partir daí, o invasor pode avançar para persistência, movimentação lateral ou exfiltração de dados.
Esse cenário é especialmente perigoso em ambientes de integração contínua, onde builds automatizados executam comandos com privilégios elevados e acesso a credenciais sensíveis, tokens e infraestrutura crítica.
Impacto real para empresas e desenvolvedores
Embora não haja evidências públicas de exploração ativa até o momento, o risco é elevado. Ferramentas como o Composer fazem parte do núcleo do desenvolvimento moderno, e qualquer falha nesse nível pode afetar milhares de projetos simultaneamente.
O impacto potencial inclui:
Comprometimento de servidores de build e pipelines CI/CD
Execução de código malicioso em ambientes corporativos
Vazamento de credenciais e segredos
Inserção de backdoors em aplicações distribuídas
Comprometimento de toda a cadeia de desenvolvimento
Esse tipo de incidente reforça uma tendência clara: ataques estão migrando cada vez mais para ferramentas de desenvolvimento e distribuição de software, explorando a confiança implícita que existe nesses ecossistemas.
Correções e medidas de mitigação
As vulnerabilidades afetam as seguintes versões do Composer:
Versões >= 2.3 e < 2.9.6 (corrigido na versão 2.9.6)
Versões >= 2.0 e < 2.2.27 (corrigido na versão 2.2.27)
A recomendação principal é atualizar imediatamente o Composer para as versões corrigidas.
Como medidas adicionais de segurança, especialistas recomendam:
Revisar cuidadosamente arquivos composer.json antes da execução
Utilizar apenas repositórios confiáveis
Evitar instalar dependências de fontes desconhecidas
Reduzir privilégios de execução em pipelines automatizados
Evitar o uso de --prefer-dist ou configurações como preferred-install: dist em ambientes não confiáveis
Como medida preventiva, o repositório oficial Packagist.org desativou temporariamente a publicação de metadados relacionados ao Perforce. Além disso, uma atualização específica deve ser disponibilizada para clientes do Private Packagist Self-Hosted.
Apesar de não terem sido identificadas tentativas de exploração até agora, a orientação é clara: a atualização deve ser tratada como prioritária, especialmente em ambientes corporativos e pipelines automatizados.
Tendência: segurança da cadeia de desenvolvimento sob pressão
O caso do Composer se soma a uma série de incidentes recentes que mostram como a cadeia de desenvolvimento se tornou um dos principais alvos de ataques cibernéticos. Ferramentas como gerenciadores de pacotes, repositórios e pipelines de CI/CD representam pontos estratégicos para comprometer múltiplos sistemas de uma só vez.
Com o crescimento do uso de automação, DevOps e infraestrutura como código, garantir a segurança dessas ferramentas deixou de ser uma preocupação secundária e passou a ser um elemento central da estratégia de cibersegurança.


