PT-2026-34558 · Phpunity · Phpunit
Kayw-Geek
·
Publicado
2026-04-18
·
Atualizado
2026-05-26
·
CVE-2026-41570
CVSS v3.1
7.8
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
PHPUnit versões anteriores a 12.5.22
PHPUnit versões anteriores a 13.1.6
Descrição
O PHPUnit encaminha configurações PHP INI para processos filhos como argumentos de linha de comando
-d name=value sem neutralizar metacaracteres INI. Como o analisador INI do PHP trata quebras de linha como separadores de diretivas, um invasor que consiga influenciar um valor INI pode injetar diretivas arbitrárias na configuração do processo filho. Isso pode ser feito modificando entradas <ini name="…" value="…"/> nos arquivos phpunit.xml ou phpunit.xml.dist, ou influenciando configurações herdadas do runtime PHP do host via ini get all(). Ao definir a diretiva auto prepend file para um caminho controlado pelo invasor, é possível obter a execução remota de código no processo filho. Este problema é particularmente relevante em cenários de Execução de Pipeline Envenenada (Poisoned Pipeline Execution), onde um contribuidor não confiável envia um pull request modificando o phpunit.xml com caracteres de nova linha invisíveis que são executados por um sistema de CI sem isolamento. A função vulnerável é PHPUnitUtilPHPJobRunner::settingsToParameters().Recomendações
Atualize para a versão 12.5.22.
Atualize para a versão 13.1.6.
Audite o
phpunit.xml e phpunit.xml.dist para garantir que nenhuma entrada <ini value="…"> contenha caracteres de nova linha, " ou ;.
Execute o PHPUnit em pull requests apenas em runners conteinerizados e efêmeros que descartem o estado do sistema de arquivos entre os jobs.
Exija revisão humana antes de executar pull requests de forks.
Aplique proteção de branch em workflows que manipulam segredos.
Restrinja o acesso de modificação ao phpunit.xml, tratando as entradas <ini> como sensíveis do ponto de vista de segurança.
Certifique-se de que o php.ini do host não contenha valores com quebras de linha incorporadas ou metacaracteres não escapados.Exploit
Correção
RCE
Argument Injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Phpunit