CloudBees Security Advisory 2018-10-10

This advisory announces multiple vulnerabilities in Jenkins, CloudBees Jenkins Platform and CloudBees Jenkins Solutions.

Path traversal vulnerability in Stapler allowed accessing internal data 

SECURITY-867 / CVE pending

A path traversal vulnerability in Stapler allowed viewing routable objects with views defined on any type. This could be used to access internal data of routable objects, commonly by showing their string representation (#toString()).

Arbitrary file write vulnerability using file parameter definitions 

SECURITY-1074 / CVE pending

Users with Job/Configure permission could specify a relative path escaping the base directory in the file name portion of a file parameter definition. This path would be used to archive the uploaded file on the Jenkins master, resulting in an arbitrary file write vulnerability.

File parameters that escape the base directory are no longer accepted and the build will fail.

Reflected XSS vulnerability 

SECURITY-1129 / CVE pending

The wrapper query parameter for the XML variant of the Jenkins remote API did not validate the specified tag name. This resulted in a reflected cross-site scripting vulnerability.

Only legal XML tag names are now allowed for the wrapper query parameter.

Ephemeral user record was created on some invalid authentication attempts 

SECURITY-1162 / CVE-2018-1999043

When attempting to authenticate using API token, an ephemeral user record was created to validate the token in case an external security realm was used, and the user record in Jenkins not previously saved, as (legacy) API tokens could exist without a persisted user record.

This behavior could be abused to create a large number of ephemeral user records in memory.

This is the same vulnerability as SECURITY-672. The fix for SECURITY-672 was previously incorrectly applied and therefore not effective. This has been fixed.

Ephemeral user record creation 

SECURITY-1128 / CVE pending

By accessing a specific crafted URL on Jenkins instances using Jenkins’ own user database, users without Overall/Read access could create ephemeral user records.

This behavior could be abused to create a large number of ephemeral user records in memory.

Accessing this URL now no longer results in a user record getting created.

Session fixation vulnerability on user signup 

SECURITY-1158 / CVE pending

When signing up for a new user account on instances using Jenkins’ own user database, Jenkins did not invalidate the existing session and create a new one. This allowed session fixation.

Jenkins now invalidates the existing session and creates a new one when logging in after user signup.

Failures to process form submission data could result in secrets being displayed or written to logs 

SECURITY-765 / CVE pending

When Jenkins fails to process form submissions due to an internal error, the error message shown to the user and written to the log typically includes the serialized JSON form submission. Secrets, such as submitted passwords, might be included with the JSON object, and shown or written to disk in plain text.

Jenkins now masks values in these error messages from view if they were shown on the UI as password form fields.

Severity: 

 

Fix: 
  • CloudBees Traditional Platforms should be upgraded 2.138.2.2
  • CloudBees Cloud Platforms should be upgraded 2.138.2.2
  • CloudBees Jenkins Enterprise should be upgraded the Managed Masters and Operations Center to 2.138.2.2
  • CloudBees Jenkins Platform (rolling train, CJP Operations Center and CJP Client Master 2.x.y.z) should be upgraded to version 2.138.2.2
  • CloudBees Jenkins Platform (fixed train, CJP Operations Center and CJP Client Master 2.73.x.0.z) should be upgraded to version 2.73.36.0.2
  • CloudBees Jenkins Platform (fixed train, CJP Operations Center and CJP Client Master 2.73.x.0.z) should be upgraded to version 2.107.35.0.1
  • CloudBees Jenkins Team should be upgraded to version 2.138.2.2
  • DEV@cloud is already protected