Hack Alerta

Vulnerabilidade crítica no Jenkins permite execução de código malicioso no controlador

CVE-2026-70426 no Jenkins permite execução de código no controlador via bypass de filtro JEP-200. Atualização crítica necessária para proteger pipelines de CI/CD.

Descoberta e escopo da vulnerabilidade

O Jenkins, uma das plataformas de integração e entrega contínua (CI/CD) mais amplamente utilizadas no mundo, divulgou uma vulnerabilidade de segurança crítica que poderia permitir que atacantes executassem código malicioso em um controlador do Jenkins. Rastreada como CVE-2026-70426, a falha afeta instalações do Jenkins que utilizam versões vulneráveis da biblioteca Remoting e recebeu uma classificação de severidade Crítica CVSS.

A vulnerabilidade impacta o Jenkins 2.575 e anteriores, bem como o Jenkins LTS 2.568.1 e anteriores. A falha existe nas versões Remoting 3384.v60d89463d9e0 e anteriores, exceto para a versão 3355.3357.v931d3c992987. O Jenkins utiliza sua biblioteca Remoting, comumente distribuída como agent.jar ou remoting.jar, para habilitar a comunicação entre o controlador central e os agentes de build conectados.

Mecanismo de exploração e bypass de filtro

Essas comunicações dependem de objetos Java serializados. Como bugs de desserialização de Java podem levar à execução arbitrária de código, o Jenkins aplica o filtro de classe JEP-200 ao processar objetos enviados por um canal Remoting. No entanto, os pesquisadores descobriram que o filtro não foi aplicado quando as classes foram resolvidas por meio de um caminho de fallback no processo de desserialização Remoting.

Essa lacuna cria um bypass de filtro. Um atacante que controla um processo de agente, ganha execução de código em um agente existente ou possui a permissão Jenkins Agent/Connect pode explorar a falha para desserializar certas classes Java que deveriam ter sido bloqueadas. A execução de código no nível do controlador permanece um risco grave, pois um controlador comprometido pode expor código-fonte, segredos, credenciais de build, chaves de implantação e pipelines de cadeia de suprimentos de software.

Impacto operacional e cadeia de suprimentos

O impacto é limitado às classes já disponíveis no classpath principal do Jenkins. Isso inclui classes agrupadas com o próprio Jenkins e classes incluídas na plataforma Java. Dependências agrupadas de plugins não são desserializadas através do caminho de fallback afetado, reduzindo a superfície de ataque geral. No entanto, a execução de código no nível do controlador permanece um risco grave.

Um controlador comprometido pode expor credenciais de acesso a repositórios de código, chaves de assinatura de artefatos e segredos de infraestrutura. Isso coloca em risco não apenas o ambiente de build, mas também a integridade do software entregue aos clientes finais. A falha foi relatada através do Programa de Bug Bounty da Comissão Europeia do Jenkins.

Medidas de mitigação recomendadas

O Jenkins abordou a vulnerabilidade no advisory SECURITY-3911 com Jenkins 2.576 e Jenkins LTS 2.568.2. Essas versões atualizam a biblioteca Remoting para garantir que o filtro de classe JEP-200 seja aplicado mesmo quando o caminho de desserialização de fallback é usado. As organizações devem atualizar os controladores e agentes do Jenkins para as versões corrigidas o mais rápido possível.

As equipes de segurança também devem revisar quais usuários, contas de serviço e sistemas detêm permissão de Agent/Connect, pois esse acesso pode ser usado como parte de um caminho de exploração. Agentes de build não confiáveis devem ser isolados, monitorados e impedidos de acessar recursos internos sensíveis. Para ambientes onde uma atualização imediata não é possível, o Jenkins publicou uma solução alternativa em seu repositório GitHub SECURITY-3911-3930.

Análise técnica detalhada

A falha reside na lógica de desserialização da biblioteca Remoting. Quando um objeto é recebido, o Jenkins verifica se a classe está permitida pelo filtro JEP-200. No entanto, em certos cenários de fallback, essa verificação é pulada. Isso permite que classes perigosas, que normalmente seriam bloqueadas, sejam instanciadas no contexto do controlador. A exploração requer que o atacante tenha algum nível de acesso inicial ao agente ou permissão de conexão.

Uma vez que a desserialização ocorre, o código malicioso pode ser executado com os privilégios do processo do controlador do Jenkins. Isso pode levar à instalação de backdoors, roubo de credenciais ou modificação de pipelines de build para incluir malware persistente. A natureza da falha destaca a importância de validar rigorosamente a desserialização em sistemas que lidam com objetos externos.

Perguntas frequentes

Qual a gravidade da CVE-2026-70426?
A vulnerabilidade foi classificada como Crítica devido ao potencial de execução remota de código no controlador, o que pode comprometer toda a infraestrutura de CI/CD.

Quais versões são afetadas?
Jenkins 2.575 e anteriores, Jenkins LTS 2.568.1 e anteriores, e Remoting 3384.v60d89463d9e0 e anteriores.

Indicadores de Comprometimento (IoCs)

  • CVE: CVE-2026-70426
  • Advisory: SECURITY-3911
  • Versão Corrigida: Jenkins 2.576, Jenkins LTS 2.568.2
  • Biblioteca: Remoting

Baseado em publicação original de Cyber Security News
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.