CVE-2019-1003034
📋 TL;DR
This vulnerability allows attackers with control over Jenkins Job DSL definitions to bypass sandbox restrictions and execute arbitrary code on the Jenkins master JVM. It affects Jenkins Job DSL Plugin versions 1.71 and earlier. Attackers need Job DSL definition control, typically requiring some level of Jenkins access.
💻 Affected Systems
- Jenkins Job DSL Plugin
📦 What is this software?
Job Dsl by Jenkins
⚠️ Risk & Real-World Impact
Worst Case
Complete compromise of Jenkins master with full control over the JVM, allowing installation of malware, data theft, lateral movement, and persistent backdoors.
Likely Case
Attackers with Job DSL editing privileges gain full administrative control over Jenkins, potentially compromising build pipelines and sensitive credentials.
If Mitigated
With proper access controls limiting Job DSL editing to trusted users only, impact is limited to authorized administrators.
🎯 Exploit Status
Exploitation requires Job DSL definition editing privileges. Public exploit details exist in security advisories.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.72
Vendor Advisory: https://jenkins.io/security/advisory/2019-03-06/#SECURITY-1342
Restart Required: Yes
Instructions:
1. Update Jenkins Job DSL Plugin to version 1.72 or later via Jenkins Plugin Manager. 2. Restart Jenkins after plugin update.
🔧 Temporary Workarounds
Restrict Job DSL Permissions
allLimit who can create or modify Job DSL definitions to only trusted administrators.
Configure Jenkins Role-Based Strategy or Matrix Authorization to restrict Job/Configure permissions for Job DSL jobs
🧯 If You Can't Patch
- Immediately restrict Job DSL editing permissions to only essential administrators
- Monitor Jenkins logs for suspicious Job DSL definition changes or execution patterns
🔍 How to Verify
Check if Vulnerable:
Check Jenkins Plugin Manager for Job DSL Plugin version. If version is 1.71 or earlier, system is vulnerable.
Check Version:
In Jenkins web UI: Manage Jenkins > Plugin Manager > Installed plugins, find 'Job DSL Plugin'
Verify Fix Applied:
Verify Job DSL Plugin version is 1.72 or later in Jenkins Plugin Manager.
📡 Detection & Monitoring
Log Indicators:
- Unusual Job DSL script executions
- Job configuration changes from unexpected users
- Sandbox violation warnings in Jenkins logs
Network Indicators:
- Unusual outbound connections from Jenkins master
SIEM Query:
source="jenkins.log" AND ("Job DSL" OR "sandbox" OR "AbstractDslScriptLoader") AND ("error" OR "exception" OR "violation")
🔗 References
- http://www.securityfocus.com/bid/107476
- https://access.redhat.com/errata/RHSA-2019:0739
- https://jenkins.io/security/advisory/2019-03-06/#SECURITY-1342
- http://www.securityfocus.com/bid/107476
- https://access.redhat.com/errata/RHSA-2019:0739
- https://jenkins.io/security/advisory/2019-03-06/#SECURITY-1342