CVE-2019-1003001
Jenkins Groovy Plugin sandbox bypass vulnerability
A sandbox bypass vulnerability exists in Pipeline: Groovy Plugin 2.61 and earlier in src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowDefinition.java, src/main/java/org/jenkinsci/plugins/workflow/cps/CpsGroovyShellFactory.java that allows attackers with Overall/Read permission to provide a pipeline script to an HTTP endpoint that can result in arbitrary code execution on the Jenkins master JVM.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
8.8
A sandbox bypass vulnerability exists in Pipeline: Groovy Plugin 2.61 and earlier in src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowDefinition.java, src/main/java/org/jenkinsci/plugins/workflow/cps/CpsGroovyShellFactory.java that allows attackers with Overall/Read permission to provide a pipeline script to an HTTP endpoint that can result in arbitrary code execution on the Jenkins master JVM.
- Record
CVE-2019-1003001- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.5 Medium
AV:N/AC:L/Au:S/C:P/I:P/A:P - Updated
- 2026-11-02
CVE List No score
A sandbox bypass vulnerability exists in Pipeline: Groovy Plugin 2.61 and earlier in src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowDefinition.java, src/main/java/org/jenkinsci/plugins/workflow/cps/CpsGroovyShellFactory.java that allows attackers with Overall/Read permission to provide a pipeline script to an HTTP endpoint that can result in arbitrary code execution on the Jenkins master JVM.
- Record
CVE-2019-1003001- Updated
- 2026-11-02
EUVDEUVD-2022-2846 No score
A sandbox bypass vulnerability exists in Pipeline: Groovy Plugin 2.61 and earlier in src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowDefinition.java, src/main/java/org/jenkinsci/plugins/workflow/cps/CpsGroovyShellFactory.java that allows attackers with Overall/Read permission to provide a pipeline script to an HTTP endpoint that can result in arbitrary code execution on the Jenkins master JVM.
- Record
EUVD-2022-2846- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-6q78-6xvr-26fg
8.8
Jenkins Groovy Plugin sandbox bypass vulnerability
Jenkins Script Security sandbox protection could be circumvented during the script compilation phase by applying AST transforming annotations such as @Grab to source code elements.
Both the pipeline validation REST APIs and actual script/pipeline execution are affected.
This allowed users with Overall/Read permission, or able to control Jenkinsfile or sandboxed Pipeline shared library contents in SCM, to bypass the sandbox protection and execute arbitrary code on the Jenkins controller.
All known unsafe AST transformations in Groovy are now prohibited in sandboxed scripts.
- Record
GHSA-6q78-6xvr-26fg- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSV
8.8
A sandbox bypass vulnerability exists in Pipeline: Groovy Plugin 2.61 and earlier in src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowDefinition.java, src/main/java/org/jenkinsci/plugins/workflow/cps/CpsGroovyShellFactory.java that allows attackers with Overall/Read permission to provide a pipeline script to an HTTP endpoint that can result in arbitrary code execution on the Jenkins master JVM.
- Record
CVE-2019-1003001- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-6q78-6xvr-26fg
8.8
Jenkins Groovy Plugin sandbox bypass vulnerability
Jenkins Script Security sandbox protection could be circumvented during the script compilation phase by applying AST transforming annotations such as @Grab to source code elements.
Both the pipeline validation REST APIs and actual script/pipeline execution are affected.
This allowed users with Overall/Read permission, or able to control Jenkinsfile or sandboxed Pipeline shared library contents in SCM, to bypass the sandbox protection and execute arbitrary code on the Jenkins controller.
All known unsafe AST transformations in Groovy are now prohibited in sandboxed scripts.
- Record
GHSA-6q78-6xvr-26fg- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHBA-2019:0326
8.8
Red Hat Bug Fix Advisory: OpenShift Container Platform 3.11 bug fix update
- Record
RHBA-2019:0326- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.jenkins-ci.plugins.workflow:workflow-cps-parentMaven |
through 2.61 | 2.61.1 |
org.jenkins-ci.plugins:pipeline-model-definitionMaven |
through 1.3.4 | 1.3.4.1 |
org.jenkins-ci.plugins:script-securityMaven |
through 1.49 | 1.50 |
org.jenkins-ci.plugins.workflow:workflow-cps-parentMaven |
before 2.61.1 | 2.61.1 |
org.jenkins-ci.plugins:pipeline-model-definitionMaven |
before 1.3.4.1 | 1.3.4.1 |
org.jenkins-ci.plugins:script-securityMaven |
before 1.50, plus listed versions 1.01.0-beta-11.0-beta-21.0-beta-31.0-beta-4 Show 45 moreShow less1.0-beta-51.0-beta-61.11.101.111.121.131.141.151.161.171.181.18.11.191.21.201.211.221.231.241.251.261.271.281.291.29.11.31.301.311.331.341.351.361.371.381.391.41.401.411.421.431.441.44.11.451.46 |
1.50 |
atomic-enterprise-service-catalogRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 1:3.11.82-1.git.1673.133961e.el7 | 1:3.11.82-1.git.1673.133961e.el7 |
atomic-enterprise-service-catalog-svcatRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 1:3.11.82-1.git.1673.133961e.el7 | 1:3.11.82-1.git.1673.133961e.el7 |
atomic-openshiftRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-clientsRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
Show 37 moreShow less
| Package | Affected | Fixed |
|---|---|---|
atomic-openshift-clients-redistributableRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-cluster-autoscalerRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.efb6af0.el7 | 0:3.11.82-1.git.0.efb6af0.el7 |
atomic-openshift-deschedulerRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.300.89765c9.el7 | 0:3.11.82-1.git.300.89765c9.el7 |
atomic-openshift-docker-excluderRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-dockerregistryRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.452.0ce6383.el7 | 0:3.11.82-1.git.452.0ce6383.el7 |
atomic-openshift-excluderRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-hyperkubeRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-hypershiftRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-masterRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-metrics-serverRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.52.2fdca3f.el7 | 0:3.11.82-1.git.52.2fdca3f.el7 |
atomic-openshift-nodeRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-node-problem-detectorRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.254.a448936.el7 | 0:3.11.82-1.git.254.a448936.el7 |
atomic-openshift-podRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-sdn-ovsRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-service-idlerRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.14.e353758.el7 | 0:3.11.82-1.git.14.e353758.el7 |
atomic-openshift-template-service-brokerRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-testsRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.08bc31b.el7 | 0:3.11.82-1.git.0.08bc31b.el7 |
atomic-openshift-web-consoleRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.355.5e8b1d9.el7 | 0:3.11.82-1.git.355.5e8b1d9.el7 |
golang-github-openshift-oauth-proxyRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.425.7cac034.el7 | 0:3.11.82-1.git.425.7cac034.el7 |
golang-github-prometheus-alertmanagerRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.3bf41ce.el7 | 0:3.11.82-1.git.0.3bf41ce.el7 |
golang-github-prometheus-node_exporterRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.1063.48444e8.el7 | 0:3.11.82-1.git.1063.48444e8.el7 |
golang-github-prometheus-prometheusRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.5027.9d24833.el7 | 0:3.11.82-1.git.5027.9d24833.el7 |
haproxyRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:1.8.17-3.el7 | 0:1.8.17-3.el7 |
haproxy-debuginfoRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:1.8.17-3.el7 | 0:1.8.17-3.el7 |
haproxy18Red Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:1.8.17-3.el7 | 0:1.8.17-3.el7 |
jenkinsRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:2.150.2.1549032159-1.el7 | 0:2.150.2.1549032159-1.el7 |
jenkins-2-pluginsRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.1549642489-1.el7 | 0:3.11.1549642489-1.el7 |
openshift-ansibleRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-3.git.0.9718d0a.el7 | 0:3.11.82-3.git.0.9718d0a.el7 |
openshift-ansible-docsRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-3.git.0.9718d0a.el7 | 0:3.11.82-3.git.0.9718d0a.el7 |
openshift-ansible-playbooksRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-3.git.0.9718d0a.el7 | 0:3.11.82-3.git.0.9718d0a.el7 |
openshift-ansible-rolesRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-3.git.0.9718d0a.el7 | 0:3.11.82-3.git.0.9718d0a.el7 |
openshift-ansible-testRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-3.git.0.9718d0a.el7 | 0:3.11.82-3.git.0.9718d0a.el7 |
openshift-enterprise-autohealRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.219.0b5aff4.el7 | 0:3.11.82-1.git.219.0b5aff4.el7 |
openshift-enterprise-cluster-capacityRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.380.cf11c51.el7 | 0:3.11.82-1.git.380.cf11c51.el7 |
prometheusRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.5027.9d24833.el7 | 0:3.11.82-1.git.5027.9d24833.el7 |
prometheus-alertmanagerRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.0.3bf41ce.el7 | 0:3.11.82-1.git.0.3bf41ce.el7 |
prometheus-node-exporterRed Hat:openshift:3.11::el7 From an advisory covering 16 CVEs |
before 0:3.11.82-1.git.1063.48444e8.el7 | 0:3.11.82-1.git.1063.48444e8.el7 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Metasploit | Jenkins ACL Bypass and Metaprogramming RCE | 2019-01-08 |
| Exploit-DB | Jenkins Plugin Script Security < 1.50/Declarative < 1.3.4.1/Groovy < 2.61.1 - Remote Code Execution (PoC) | 2019-02-19 |
| Exploit-DB | Jenkins 2.137 and Pipeline Groovy Plugin 2.61 - ACL Bypass and Metaprogramming Remote Code Execution (Metasploit) | 2019-03-19 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, exploits, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, Exploit-DB, GitHub Advisories, Metasploit, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-1003001 is a high vulnerability (CVSS 8.8) in Jenkins Project Pipeline: Groovy Plugin, published January 22, 2019. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 86.1%, the 99th percentile. Fixed in org.jenkins-ci.plugins.workflow:workflow-cps-parent 2.61.1.
References
jenkins.io/security/advisory/2019-01-08
access.redhat.com/errata/RHBA-2019:0326
packetstormsecurity.com/files/152132/Jenkins-ACL-Bypass-Metaprogramming-Remote-Code-Execution.html
rapid7.com/db/modules/exploit/multi/http/jenkins_metaprogramming
exploit-db.com/exploits/46572
access.redhat.com/errata/RHBA-2019:0327
Show 104 moreShow less
nvd.nist.gov/vuln/detail/CVE-2019-1003001
github.com/jenkinsci/pipeline-model-definition-plugin/commit/6d7884dec610bf34503d24d494d994e9fc607642
github.com/jenkinsci/script-security-plugin/commit/2c5122e50742dd16492f9424992deb21cc07837c
github.com/jenkinsci/workflow-cps-plugin/commit/66c3e7aafe7888d4e1fe9995a688bb3fb742d742
github.com/advisories/GHSA-6q78-6xvr-26fg
bugzilla.redhat.com/show_bug.cgi?id=1506736
bugzilla.redhat.com/show_bug.cgi?id=1598822
bugzilla.redhat.com/show_bug.cgi?id=1615719
bugzilla.redhat.com/show_bug.cgi?id=1623338
bugzilla.redhat.com/show_bug.cgi?id=1634302
bugzilla.redhat.com/show_bug.cgi?id=1635254
bugzilla.redhat.com/show_bug.cgi?id=1635613
bugzilla.redhat.com/show_bug.cgi?id=1642379
bugzilla.redhat.com/show_bug.cgi?id=1642929
bugzilla.redhat.com/show_bug.cgi?id=1651090
bugzilla.redhat.com/show_bug.cgi?id=1651632
bugzilla.redhat.com/show_bug.cgi?id=1655183
bugzilla.redhat.com/show_bug.cgi?id=1657019
bugzilla.redhat.com/show_bug.cgi?id=1659194
bugzilla.redhat.com/show_bug.cgi?id=1659441
bugzilla.redhat.com/show_bug.cgi?id=1659653
bugzilla.redhat.com/show_bug.cgi?id=1659976
bugzilla.redhat.com/show_bug.cgi?id=1660598
bugzilla.redhat.com/show_bug.cgi?id=1664753
bugzilla.redhat.com/show_bug.cgi?id=1665235
bugzilla.redhat.com/show_bug.cgi?id=1666820
bugzilla.redhat.com/show_bug.cgi?id=1667270
bugzilla.redhat.com/show_bug.cgi?id=1667618
bugzilla.redhat.com/show_bug.cgi?id=1668412
bugzilla.redhat.com/show_bug.cgi?id=1668828
bugzilla.redhat.com/show_bug.cgi?id=1668970
bugzilla.redhat.com/show_bug.cgi?id=1669019
bugzilla.redhat.com/show_bug.cgi?id=1669194
bugzilla.redhat.com/show_bug.cgi?id=1669439
bugzilla.redhat.com/show_bug.cgi?id=1669555
bugzilla.redhat.com/show_bug.cgi?id=1669984
bugzilla.redhat.com/show_bug.cgi?id=1670551
bugzilla.redhat.com/show_bug.cgi?id=1673178
security.access.redhat.com/data/csaf/v2/advisories/2019/rhba-2019_0326.json
access.redhat.com/security/cve/CVE-2018-20102
bugzilla.redhat.com/show_bug.cgi?id=1658874
cve.org/CVERecord?id=CVE-2018-20102
nvd.nist.gov/vuln/detail/CVE-2018-20102
mail-archive.com/[email protected]/msg32055.html
access.redhat.com/security/cve/CVE-2018-20103
bugzilla.redhat.com/show_bug.cgi?id=1658876
cve.org/CVERecord?id=CVE-2018-20103
nvd.nist.gov/vuln/detail/CVE-2018-20103
access.redhat.com/security/cve/CVE-2018-20615
bugzilla.redhat.com/show_bug.cgi?id=1663060
cve.org/CVERecord?id=CVE-2018-20615
nvd.nist.gov/vuln/detail/CVE-2018-20615
access.redhat.com/security/cve/CVE-2018-1000865
bugzilla.redhat.com/show_bug.cgi?id=1647059
cve.org/CVERecord?id=CVE-2018-1000865
nvd.nist.gov/vuln/detail/CVE-2018-1000865
access.redhat.com/security/cve/CVE-2018-1000866
cve.org/CVERecord?id=CVE-2018-1000866
nvd.nist.gov/vuln/detail/CVE-2018-1000866
access.redhat.com/security/cve/CVE-2019-3826
bugzilla.redhat.com/show_bug.cgi?id=1672865
cve.org/CVERecord?id=CVE-2019-3826
nvd.nist.gov/vuln/detail/CVE-2019-3826
access.redhat.com/security/cve/CVE-2019-1003000
bugzilla.redhat.com/show_bug.cgi?id=1667566
cve.org/CVERecord?id=CVE-2019-1003000
nvd.nist.gov/vuln/detail/CVE-2019-1003000
access.redhat.com/security/cve/CVE-2019-1003001
bugzilla.redhat.com/show_bug.cgi?id=1669505
cve.org/CVERecord?id=CVE-2019-1003001
access.redhat.com/security/cve/CVE-2019-1003002
bugzilla.redhat.com/show_bug.cgi?id=1669508
cve.org/CVERecord?id=CVE-2019-1003002
nvd.nist.gov/vuln/detail/CVE-2019-1003002
access.redhat.com/security/cve/CVE-2019-1003003
bugzilla.redhat.com/show_bug.cgi?id=1668345
cve.org/CVERecord?id=CVE-2019-1003003
nvd.nist.gov/vuln/detail/CVE-2019-1003003
jenkins.io/security/advisory/2019-01-16
access.redhat.com/security/cve/CVE-2019-1003004
bugzilla.redhat.com/show_bug.cgi?id=1668736
cve.org/CVERecord?id=CVE-2019-1003004
nvd.nist.gov/vuln/detail/CVE-2019-1003004
access.redhat.com/security/cve/CVE-2019-1003010
bugzilla.redhat.com/show_bug.cgi?id=1670292
cve.org/CVERecord?id=CVE-2019-1003010
nvd.nist.gov/vuln/detail/CVE-2019-1003010
jenkins.io/security/advisory/2019-01-28
access.redhat.com/security/cve/CVE-2019-1003011
bugzilla.redhat.com/show_bug.cgi?id=1670296
cve.org/CVERecord?id=CVE-2019-1003011
nvd.nist.gov/vuln/detail/CVE-2019-1003011
access.redhat.com/security/cve/CVE-2019-1003012
bugzilla.redhat.com/show_bug.cgi?id=1670298
cve.org/CVERecord?id=CVE-2019-1003012
nvd.nist.gov/vuln/detail/CVE-2019-1003012
access.redhat.com/security/cve/CVE-2019-1003013
bugzilla.redhat.com/show_bug.cgi?id=1670299
cve.org/CVERecord?id=CVE-2019-1003013
nvd.nist.gov/vuln/detail/CVE-2019-1003013
access.redhat.com/security/cve/CVE-2019-1003014
bugzilla.redhat.com/show_bug.cgi?id=1671324
cve.org/CVERecord?id=CVE-2019-1003014
nvd.nist.gov/vuln/detail/CVE-2019-1003014
Left out here: 9 versions. The JSON record has them.