CVE DatabaseCVE-2019-1003029
한국어 권고문 →
CVE-2019-10030299.9/CRITICALCISA KEV

Jenkins Script Security Plugin Sandbox Bypass Remote Code Execution Vulnerability Analysis and Mitigation Guide (CVE-2019-1003029)

⚡ Jump to Patch
Affected Vendors
jenkins
Affected Components
script-security-plugin
Published Date
2019-03-08
CVSS v3.1
9.9
CRITICAL
EPSS (30d)
74.4%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

Jenkins Script Security Plugin 1.53 and earlier

Impact

Attackers with Overall/Read permission can bypass the Groovy sandbox to execute arbitrary code on the Jenkins master JVM

Mitigation

Immediately update the Script Security Plugin to version 1.54 or later, and restrict unnecessary user permissions

Affected Products & Version Scope

Jenkins Script Security Plugin version 1.53 and prior installed on Jenkins master servers.

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

The most effective remediation is to upgrade the Script Security Plugin to version 1.54 or later. Use the Jenkins CLI or the plugin manager to apply the update immediately.

bash
# Update Script Security plugin via Jenkins CLI and perform a safe restart
java -jar jenkins-cli.jar -s http://localhost:8080/ install-plugin script-security -deploy
java -jar jenkins-cli.jar -s http://localhost:8080/ safe-restart

2. Temporary Workaround & Hardening Configuration

If patching cannot be applied immediately, revoke 'Overall/Read' permissions from untrusted users and disable anonymous access. Additionally, review the 'In-process Script Approval' list for any unauthorized scripts.

bash
# Example Nginx reverse proxy configuration to block external Jenkins CLI access
server {
    listen 80;
    server_name jenkins.internal.local;
    
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    
    # Block external access to Jenkins CLI endpoint
    location /cli {
        deny all;
        return 403;
    }
}

3. Log Audit & IoC Verification Commands

Inspect Jenkins system logs and build histories for potential sandbox bypass attempts or unauthorized system command executions.

bash
# Search Jenkins build logs for potential Groovy sandbox bypass and RCE patterns
grep -riE '(Runtime\.getRuntime|ProcessBuilder|@Grab|System\.getProperty)' /var/lib/jenkins/jobs/

# Verify the currently installed version of the Script Security plugin
xmlstarlet sel -t -v '//plugin[@artifactId="script-security"]/version' /var/lib/jenkins/plugins/script-security/META-INF/maven/org.jenkins-ci.plugins/script-security/pom.xml
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Snyk Open Source & Container Security
As this vulnerability is actively exploited and listed in the CISA KEV, immediately upgrade the Jenkins Script Security Plugin to version 1.54 or higher.

Scan Your Repositories for Transitive Vulnerable Dependencies in 30 Seconds

Automatically detect vulnerable packages across npm, PyPI, Maven, and Go, and open automated fix Pull Requests without breaking your build.

Free Forever Tier · 1-Click GitHub/GitLab Auto-PR
Master DevSecOps: Automated SAST/SCA in GitHub Actions & Kubernetes
View Course Curriculum

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability exists in the Groovy sandbox validation logic of the Jenkins Script Security Plugin. Specifically, within GroovySandbox.java and SecureGroovyScript.java, the validation of AST (Abstract Syntax Tree) transformations and custom compiler configurations is insufficient. This flaw allows attackers to craft malicious scripts that bypass sandbox restrictions and directly access restricted Java/Groovy APIs.

2. Exploitation Mechanics & Attack Scenario

An attacker with minimal permissions (Overall/Read) can exploit this vulnerability by submitting a specially crafted Groovy script through pipeline definitions or other script input fields. By leveraging specific annotations, metaprogramming techniques, or constructor bypasses that evade the Sandbox Transformer's detection, the script is compiled and executed on the Jenkins master node. Upon execution, it bypasses sandbox filtering to invoke system-level APIs such as java.lang.Runtime.getRuntime().exec().

3. Infrastructure & Business Impact

This vulnerability is rated with a critical CVSS score of 9.9 and is actively exploited in the wild (listed in CISA KEV). Successful exploitation grants the attacker complete control over the Jenkins master server. This can lead to the theft of sensitive source code, AWS/Kubernetes credentials, and API tokens stored in the CI/CD pipeline, potentially resulting in devastating supply chain attacks.

Official Vendor Advisories & References

Frequently Asked SecOps Questions (CVE-2019-1003029)

FAQ

Q1. How critical is CVE-2019-1003029 and is it actively exploited in the wild?

CVE-2019-1003029 is rated CVSS 9.9 (CRITICAL) with a 30-day EPSS exploitation probability of 74.4%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2019-1003029?

Primary impacted vendors include jenkins across script-security-plugin. Scope summary: Jenkins Script Security Plugin version 1.53 and prior installed on Jenkins master servers.

Q3. What temporary mitigations or workarounds exist for CVE-2019-1003029 before patching?

[Mitigation] Immediately update the Script Security Plugin to version 1.54 or later, and restrict unnecessary user permissions Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2019-1003029

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (jenkins)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2019-1003029 Jenkins Script Security Plugin Sandbox Bypass Remote Code Execution Vulnerability Analysis and Mitigation Guide (CVE-2019-1003029) (CVSS 9.9) - Patch & Workaround | CVE Pulse