CloudBees Security Advisory 2019-09-12

This advisory announces vulnerabilities inJenkins, CloudBees Jenkins Distribution, CloudBees Jenkins Platform and CloudBees Core.

System command execution vulnerability in Git client Plugin

SECURITY-1534 / CVE-2019-10392

Git client Plugin accepts user-specified values as argument to an invocation of git ls-remote to validate the existence of a Git repository at the specified URL. This was implemented in a way that allowed attackers with Job/Configure permission to execute an arbitrary system command on the Jenkins master as the OS user that the Jenkins process is running as.

Git client Plugin now rejects repository URLs that do not appear to be valid URLs. Additionally, for versions of Git that support it, the repository URL argument is separated from option arguments using the -- separator to prevent interpretation as an option.

Sandbox bypass vulnerability in Script Security Plugin

SECURITY-1538 / CVE-2019-10393, CVE-2019-10394, CVE-2019-10399, CVE-2019-10400

Sandbox protection in Script Security Plugin could be circumvented through any of the following:

  • Crafted method names in method call expressions (CVE-2019-10393)

  • Crafted property names in property expressions on the left-hand side of assignment expressions (CVE-2019-10394)

  • Crafted property names in property expressions in increment and decrement expressions (CVE-2019-10399)

  • Crafted subexpressions in increment and decrement expressions not involving actual assignment (CVE-2019-10400)

This allowed attackers able to specify and run sandboxed scripts to execute arbitrary code in the context of the Jenkins master JVM.

These expressions are now subject to sandbox protection.

Stored XSS vulnerability in Build Environment Plugin

SECURITY-1476 / CVE-2019-10395

Build Environment Plugin did not escape values of environment variables shown on its views. This resulted in a cross-site scripting vulnerability exploitable by attackers able to control the values of build environment variables, typically users with Job/Configure or Job/Build permission.

Jenkins applies the missing escaping by default since 2.146 and LTS 2.138.2, so newer Jenkins releases are not affected by this vulnerability.

Build Environment Plugin now escapes all variables displayed in its views.

Stored XSS vulnerability in Dashboard View Plugin

SECURITY-1489 / CVE-2019-10396

Dashboard View Plugin did not escape the build description on the Latest Builds View. This resulted in a cross-site scripting vulnerability exploitable by attackers able to control the description of builds shown on that view.

Dashboard View Plugin now applies the configured markup formatter to the build description, rendering it as it appears elsewhere in Jenkins.

Aqua Security Serverless Scanner Plugin showed plain text password in job configuration form fields

SECURITY-1509 / CVE-2019-10397

Aqua Security Serverless Scanner Plugin stores service passwords in job configurations.

While the password is stored encrypted on disk, it was transmitted in plain text as part of the configuration form. This could result in exposure of the password through browser extensions, cross-site scripting vulnerabilities, and similar situations.

Aqua Security Serverless Scanner Plugin no longer transmits the password form field in plain text.

Beaker builder Plugin stored credentials in plain text

SECURITY-1545 / CVE-2019-10398

Beaker builder Plugin stored the Beaker password unencrypted on the Jenkins master. This password could be viewed by users with access to the master file system.

Beaker builder Plugin now stores these credentials encrypted.

Severity

Fix

  • CloudBees Traditional Platforms should be upgraded 2.176.3.2-rev2

  • CloudBees Cloud Platforms should be upgraded 2.176.3.2-rev2

  • CloudBees Jenkins Enterprise should be upgraded the Managed Masters and Operations Center to 2.176.3.2-rev2

  • CloudBees Jenkins Platform (rolling train, CJP Operations Center and CJP Client Master (2.x.y.z) should be upgraded to version 2.176.3.2-rev2

  • CloudBees Jenkins Platform (fixed train, CJP Operations Center and CJP Client Master (2.138.x.0.z) should be upgraded to version 2.138.43.0.1-rev2

  • CloudBees Jenkins Platform (fixed train, CJP Operations Center and CJP Client Master (2.164.x.0.z) should be upgraded to version 2.164.31.0.1-rev2

  • CloudBees Jenkins Distribution should be upgraded to version 2.176.3.2-rev2