Improper access control in Pipeline: Groovy - CVE-2019-1003001
Published: October 7, 2019
Vulnerability details
The vulnerability allows a remote attacker to bypass sandbox restrictions.
The vulnerability exists due to improper access restrictions in "src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowDefinition.java" and "src/main/java/org/jenkinsci/plugins/workflow/cps/CpsGroovyShellFactory.java" when applying AST transforming annotations such as @Grab to source code elements. A remote authenticated attacker with Overall/Read permission, or able to control Jenkins file or sandboxed Pipeline shared library contents in SCM, can bypass the sandbox protection and execute arbitrary code on the Jenkins master.
Affected software
How to mitigate CVE-2019-1003001
Links to Public Exploits and PoC-codes
- Exploit #2008 - cve-2019-1003000-jenkins-rce-poc (Jenkins RCE Proof-of-Concept: SECURITY-1266 / CVE-2019-1003000 (Script Security), CVE-2019-1003001 (Pipeline: Groovy), CVE-2019-1003002 (Pipeline: Declarative)) (March 18, 2020)
- Exploit #1550 - Jenkins ACL Bypass and Metaprogramming RCE (March 18, 2020)